In Entity Framework 4.0 possiamo marcare una entity attaccata al contesto come da cancellare grazie al metodo DeleteObject della classe ObjectSet<T>.
Questa possibilità era ovviamente disponibile anche in Entity Framework 1.0, ma questa API era esposta solamente dalla classe ObjectContext, la quale aveva bisogno oltre che della entity anche del nome dell'entity set su cui aggiungerla. Inoltre, potendo questo metodo accettare più classi il parametro della entity è di tipo Object. Il risultato è che si potevano commettere diversi errori.
Poichè questo nuovo metodo è della classe ObjectSet<T>, non c'è bisogno di passare il nome dell'entity set, in quanto è già presente nella classe ObjectSet<T>. Inoltre, poichè il parametro T rappresenta il tipo esposto dalll'entity set, anche il parametro in input al metodo deve essere di quel tipo. In questo modo eliminiamo ogni possibilità di errore a run time.
var customer = new Customer { CustomerId = 1, }; ctx.Customers.Attach(customer); ctx.Customers.DeleteObject(customer); 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
Le novità di Entity Framework 8
Eseguire una GroupBy per entity in Entity Framework
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Utilizzare la libreria Benchmark.NET per misurare le performance
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)