Autore: Stefano Mostarda
Molto spesso ci troviamo nella situazione di dover recuperare i dati di una collection navigation property ma di dover filtrare questi dati. Un tipico esempio di questa situazione è quando vogliamo recuperare una lista di clienti e i loro ultimi 5 ordini. Fino alla versione 3, ...
Oltre alla sintassi, quello che più caratterizza un record rispetto a una classe è il fatto che le proprietà sono immutabili. Tuttavia, esistono casi in cui abbiamo la necessità di modificare il valore di alcune proprietà e in questi casi l'unica possibilità è quella di creare ...
Sin dalla prima versione di Entity Framework Core, abbiamo potuto mappare una gerarchia di classi utilizzando la modalità TPH (Table Per Hierarchy) dove una gerarchia viene mappata su una singola tabella. Questa modalità ha ovviamente i suoi vantaggi e i suoi svantaggi. L'ovvio ...
Nello script #549 abbiamo visto come dichiarare un record in C#. In quel caso abbiamo dichiarato il record con delle proprietà e un costruttore che valorizza quelle proprietà con i dati che riceve in input. ll codice da scrivere non è molto ma possiamo accorciarne notevolmente la...
Nello script #548 abbiamo visto come istruire Entity Framework Core 5 sul comportamento da tenere per risolvere le Include verso le collection navigation property. In quello script abbiamo sfruttato il metodo AsSplitQuery per definire il comportamento di una singola query. Sebene...
C# 9 introduce un nuovo tipo di oggetto: record. Un record è una classe immutabile che implementa proprietà in sola lettura che possono essere impostate solo all'interno del costruttore e che implementa automaticamente l'uguaglianza tra istanze basandosi sui valori delle ...
Fino alla versione 2.2, Entity Framework risolve le query con Include verso una collection navigation property utilizzando un query per ogni proprietà e non creando un unico comando SQL. Questo comportamento ha il vantaggio di diminuire sensibilmente la quantità di viaggi che ...
Una delle novità di C# 9 è quella di permettere di avere una classe all'interno della quale non abbiamo bisogno di dichiarare il namespace, il nome della classe e un metodo. A prima impressione, questa cosa sembra non avere un senso, ma lo assume quando pensiamo al tipico codice ...
Nello script #519 abbiamo visto come creare un interceptor e come utilizzarlo per loggare le chiamate fatte al database. Questo è un possibile uso degli interceptor ma ce ne sono molti altri. Un esempio è dato dalla possibilità di dare degli hint a SqlServer su come eseguire una ...
Entity Framework Core 5 rappresenta un deciso passo avanti per questo framework sotto molti punti di vista: funzionalità, stabilità, performance semplicità di utilizzo. Le sue funzionalità sono ormai le stesse del fratello maggiore Enttiy Framework 6 il che lo rende maturo per ...