J'ai la question suivante: Il est facile d'insérer un objet dans la base de données avec un formulaire.Fusionner un objet qui était en dehors du datacontext
- Il suffit de créer un objet lien
- pour les champs de votre de.
- Revenir au contrôleur,
- créer une nouvelle datacontext et faire datacontext.InsertOnSubmit (objet)
.
public static void AddPage(string lang, Page page)
{
using (var db = new CardReaderDataContext())
{
page.Lang = lang;
page.URL = UrlHelper.CreateValidSeoUrl(page.Name, "-");
db.Pages.InsertOnSubmit(page);
db.SubmitChanges();
}
}
Mais si vous souhaitez mettre à jour un objet, il est un travail fastidieux. Vous faites le même flux,
- vous obtenez l'objet,
- lien à votre formulaire,
- après, mais alors !!! parce qu'il est allé en dehors de votre datacontext, vous devez recharger l'objet de la datacontext,
- transfert de toutes les variables et l'enregistrer, c'est un peu complexe expliqué donc je donne un exemple:
Pour mettre à jour un objet que vous avez modifié sous une forme:
public static void Update(Page page)
{
using (var db = new CardReaderDataContext())
{
var _page = db.Pages.Where(p => p.Guid == page.Guid).Single();
_page.ModificationDate = DateTime.Now;
_page.Title = page.Title;
_page.Description = page.Description;
_page.Content = page.Content;
_page.Keywords = page.Keywords;
_page.Name = page.Name;
_page.WTLang = page.WTLang;
_page.WTSKU = page.WTSKU;
_page.WTTi = page.WTTi;
_page.WTUri = page.WTUri;
_page.URL = UrlHelper.CreateValidSeoUrl(page.Name, "-");
// _page.Order = GetMaxOrderByMenuGuid(page.MenuGuid);
db.SubmitChanges();
}
}
Je ne sais pas s'il est clair, si elle ne me commentaire, je vais modifier
Est-ce Linq-to-SQL que vous utilisez? Et quelle est exactement votre question, btw? – Yakimych
oui linq-to-sql, ma question est, est-il un moyen plus facile de fusionner ces objets sur la mise à jour, au lieu de, pour chaque valeur, copier la nouvelle valeur à l'objet récupéré à partir de la DB. maintenant ce que vous faites est: récupérer l'objet de DB, modifier les valeurs, récupérer le même objet, stocker chaque valeur à la dernière récupérée, mise à jour – Nealv
hmmm est ma question n'est pas clair ou est-il juste aucune réponse à cela – Nealv