Ho letto un sacco di post sul salvataggio di un'entità distaccata in Entity Framework. Tutti sembrano applicarsi alle versioni precedenti di Entity Framework. Fanno riferimento a metodi come ApplyCurrentValues e ChangeObjectState che non sembrano esistere. Per capriccio ho deciso di provare un metodo che ho trovato attraverso intellisense e voglio per assicurarsi che questo è il modo corretto di fare questo dato che non riesco a vedere ciò che accade dietro le quinte:Salva entità distaccata in Entity Framework 6
public void SaveOrder(Order order)
{
using (VirtualWebEntities db = new VirtualWebEntities())
{
db.Orders.Attach(order);
db.Entry(order).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
}
Is questo è il modo corretto di aggiornare un elemento esistente che è stato modificato?
grazie. quindi voglio solo chiarire .. non esiste più un concetto di valori di applycurrent come nelle versioni precedenti in cui è possibile notificare a EF quali campi sono stati modificati? – KingOfHypocrites
@KingOfHypocrites Puoi, ho modificato la mia risposta. Suggerisco di guardare attraverso la [documentazione EF6] (http://msdn.microsoft.com/en-us/data/ee712907), ha molti buoni esempi e spiegazioni ed è scritto in modo molto diretto. –
Grazie per il collegamento. L'unica cosa con il tuo esempio è che dovrei contrassegnare manualmente ciascuna proprietà. La vecchia versione aveva un metodo di valori applicati qui si poteva prendere il nuovo oggetto e applicare a quello vecchio. Questo contrassegna automaticamente qualsiasi proprietà modificata in modo che sappia cosa aggiornare quando salva. Sto ancora cercando un equivalente. – KingOfHypocrites