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
Migliorare la sicurezza dei prompt con Azure AI Studio
Referenziare un @layer più alto in CSS
Utilizzare DeepSeek R1 con Azure AI
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare l nesting nativo dei CSS
Configurare e gestire sidecar container in Azure App Service
Testare l'invio dei messaggi con Event Hubs Data Explorer
Utilizzare i variable font nel CSS
Collegare applicazioni server e client con .NET Aspire
Potenziare la ricerca su Cosmos DB con Full Text Search
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core