Quando sviluppiamo servizi che persistono dati con Entity Framework, spesso per aggiornare i dati ci facciamo passare una entity che poi attacchiamo al contesto. Una volta attaccata al contesto l'entity è ancora in stato di Unchanged, ma possiamo modificarne facilmente lo stato a Modified usando le API del DbContext.
Una volta impostato lo stato dell'entity su Modified, tutte le proprietà dell'entity vengono a loro volta marcate come Modified, ma non sempre questo è il risultato che si vuole ottenere in quanto a volte vogliamo che siano modificate tutte le proprietà tranne una.
Per impostare tute le proprietà a Modified tranne una con Entity Framework 4.x, dobbiamo impostare una a una le proprietà che vogliamo modificare su Modified in quanto con Entity Framework 4.x non è possibile marcare una proprietà come non modificata una volta che è stata marcata su Modified. Con Entity Framework 5 le cose cambiano in quanto possiamo impostare una singola proprietà come non modificata anche quando questa era impostata su Modified.
//Attacco l'entity al contesto ctx.People.Attach(person); //Imposto l'entity e tutte le proprieta a Modified ctx.Entry(person).State = EntityState.Modified; //Imposto una singola proprieta come non modificata ctx.Entry(person).Property(p => p.CreationDate).IsModified = false;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare i command service nei test con .NET Aspire
Blazor e Static Web Assets in .NET 10
Operazioni tra insiemi di array in Javascript
Evidenziare una porzione di testo in un pagina dopo una navigazione
Integrare OpenTelemetry direttamente in Azure Monitor
Supporto semplificato per le left join in Entity Framework 10
Avviare rapidamente un container con Azure Container Apps Express
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Mischiare codice server side e client side in una query LINQ con Entity Framework
Mappare una complex property di una entity su un campo JSON
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot


