Ottimizzare l'aggiornamento di una entity sul database con Entity Framework

di Stefano Mostarda, in LINQ, Entity Framework,

Molto spesso quando si deve aggiornare una entity la si recupera dal database, se ne modificano i dati e si invoca il metodo SaveChanges per persistere le modifiche.

Tuttavia a volte abbiamo bisogno di modificare pochi dati di una tabella. Ad esempio, se dobbiamo abilitare un utente, ci basta impostarne il campo Enabled a true. Recuperare tutta l'entità e aggiornare una sola proprietà non ha senso. Quello che possiamo fare è creare una entità dove impostiamo solo i campi chiave, attaccarla al contesto e dopo modificare le sole proprietà che vogliamo.

User u = new User{ ID = 1 }; 
ctx.AttachTo("Users", u); 
u.Enabled = true
ctx.SaveChanges();

In questo modo lo state manager è a conoscenza solo del fatto che la proprietà Enabled è stata modificata e quindi aggiornerà solo la relativa colonna sul database.

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