Quando sviluppiamo i nostri servizi molto spesso mettiamo a disposizione un metodo generico Write e non i metodi Update e Create. All'interno di questo metodo dobbiamo capire se invocare il metodo Attach o AddObject per persistere l'oggetto passato in input.
Un modo molto semplice per fare questo è osservare il valore della proprietà chiave della entity. Supponendo che la proprietà chiave sia un intero, se il valore è 0 effettuiamo un inserimento metodo (AddObject), se il valore è superiore a 0, invochiamo un aggiornamento (metodo Attach). Volendo, possiamo anche definire che se il valore è -1, l'ggetto va eliminato (metodo DeleteObject).
Con questa semplice tecnica possiamo evitare una proliferazione dei metodi nell'interfaccia del nostro servizio che è una cosa buona.
public void WriteCustomer(Customer cust)
{
...
if (cust.Id == 0)
ctx.AddObject(cust)
else
{
ctx.Attach(cust);
ctx.ObjectStateManager.ChangeObjectState(cust, EntityState.Modified);
}
ctx.SaveChanges();
...
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Controllare la telemetria con .NET Aspire
Utilizzare WhenEach per processare i risultati di una lista di task
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Creare una libreria CSS universale - Rotazione degli elementi
Utilizzare Hybrid Cache in .NET 9
Scrivere selettori CSS più semplici ed efficienti con :is()
Gestione ciclo di vita in .NET Aspire
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Interagire con Azure DevOps tramite MCP Server
Gestire il routing HTTP in Azure Container App
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Microsoft Security Bulletin MS02-054
- Rilasciato l'aggiornamento del Service Pack 1 di Visual Studio 2005 per Windows Vista


