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
Utilizzare QuickGrid di Blazor con Entity Framework
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Usare le navigation property in QuickGrid di Blazor
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Change tracking e composition in Entity Framework
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT