Scoprire quali oggetti verranno persistiti sul database con Entity Framework
di Stefano Mostarda, in LINQ, Entity Framework, l'11 marzo 2009 alle 08:00
Commenti
mi piace (0)
non mi piace (0) A volte si ha la necessità di dover sapere quali siano le entità che verranno salvate sul database. Infatti, Per ragoni di business o di comodità o altro ancora, si potrebbe voler effettuare alcune verifiche e/o modifiche poco prima della persistenza di questi oggetti.
In questo caso, la classe ObjectContext ci viene in aiuto tramite la sua proprietà ObjectStateManager. Questa proprietà e di tipo ObjectStateManager ed ha un metodo GetObjectStateEntries che ci permette di scoprire quali entità siano state aggiunte, modificate e cancellate.
var entries = ctx.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted)
Il risutato di questo metodo non è una lista di entità ma di ObjectStateEntries che è una classe che da accesso all'entità e ad una serie di dati aggiuntivi come i valori originali di questa prima che venisse modificata.





