Autore: Stefano Mostarda
Negli script #563 e #565 abbiamo visto alcune tecniche per gestire il polimorfismo durante la fase di serializzazione di un oggetto utilizzando la libreria System.Text.Json. Tutti questi approcci prevedevano l'uso delle funzionalità integrate della libreria. In questo script ...
Nello script #564 abbiamo visto come usare il metodo AsNoTrackingWithIdentityResolution a per impostare il tracking delle entity a livello di query. Esistono applicazioni che fanno un enorme uso di query di sola lettura e che non hanno bisogno di modificare i dati o li modificano...
Nello script #563 abbiamo visto come gestire la serializzazione di un oggetto che fa parte di una catena di ereditarietà. In quello script, l'oggetto serializzato aveva proprietà semplici, ma il discorso cambia quando aggiungiamo una proprietà il cui tipo può essere derivato. ...
Per default, quando eseguiamo una query Entity Framework Core salva le entity recuperate all'interno del contesto. Se una entity si trova già nel contesto, questa viene restituita e i dati provenienti dal database vengono scartati. Entity Framework Core mette a disposizione il ...
La libreria System.Text.Json (STJ d'ora in poi) è stata inizialmente introdotta con .NET Core 2, ma il suo utilizzo è stato reso difficile dalla mancanza di molte funzionalità rispetto al suo principale concorrente JSON.Net. Una delle principali mancanze della libreria è la ...
Nello script #560 abbiamo visto come sfruttare gli eventi pubblicati durante l'esecuzione del metodo SaveChanges. Lo svantaggio degli eventi è che ogni volta dobbiamo sottoscriverci agli eventi per eseguire lanostra logica. Questo può essere fatto sruttando una factory che crea ...
Con l'introduzione di LINQ e delle lambda, C# ha permesso di dichiarare in modo molto semplice delle anonymous function inline. Quando una function inline va a utilizzare una variabile contenuta nel contesto del suo contenitore, a runtime avviene una nuova allocazione della ...
In molti script presenti su questo sito, abbiamo visto che per eseguire operazioni prima e dopo il salvataggio dei dati (ad esempio per scopi di logging) dobbiamo eseguire l'override del metodo SaveChanges ed eseguire codice prima e dopo la chiamata al metodo base. A partire ...
Un segmento tutto live, con discussioni, interviste e scambi di idee. Una track informale, in cui respirare tutto il profumo da "corridoio", tipico degli eventi.