In Entity Framework 4.0 possiamo aggiungere una proprietà al contesto e marcarla come nuova utilizzando il metoto AddObject 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, Name = "Stefano Mostarda", }; ctx.Customers.AddObject(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
Eseguire query in parallelo con Entity Framework Core and ASP.NET Core
Semplificare con un extension method l'aggiunta di filtri a run time nelle query LINQ
Ottimizzare il query plan di Sql Server nelle query LINQ che usano Contains
Utilizzare il metodo Chunk per creare blocchi di oggetti di uguali dimensioni partendo da una lista
Utilizzare i metodi Linq MinBy e MaxBy per semplificare le ricerche degli elementi minimi e massimi in liste di oggetti complessi con LINQ
Impostare un default custom per i metodi LINQ che tornano il valore di default
Offline first con Blazor e IndexedDB