Scoprire quali oggetti verranno persistiti sul database con Entity Framework

di Stefano Mostarda, in LINQ, Entity Framework,

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.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi