Autore: Stefano Mostarda
Una delle caratteristiche delle prime versioni di Entity Framework Core era la capacità di capire che una query non poteva essere tradotta in sql e quindi scaricare i dati in locale per poi processarli in locale. Sebbene elegante, questa caratteristica presentava un possibile ...
L'introduzione di async/await in .NET ha permesso di creare applicazioni estremamente più performanti rispetto al passato senza dover stravolgere il nostro modo di scrivere codice. Tuttavia l'utilizzo di questa sintassi non è del tutto trasparente e spesso nasconde insidie se non...
Quando lavoriamo con una tabella di un database, molto spesso ci ritroviamo a recuperare dati usando gli stessi filtri. Ad esempio, per una tabella con dati temporali ricorriamo spesso ad una ricerca per range di date. Scrivere questo filtro in molte query può portare facilmente ...
Il mapping di un oggetto in un altro è un'operazione che nella maggior parte dei casi è estremamente semplice. Tutto quello che dobbiamo fare è copiare il valore di una serie di proprietà dall'oggetto A all'oggetto B. Tuttavia quest'operazione può diventare tediosa e soggetta ad ...
Molto spesso capita di avere una lista di id e di dover recuperare dal database i record che corrispondono a quegli id. Questa query in LINQ è estremamente semplice come si vede dal codice.//c#var items = new[] { 1,2,3 }; var rec = await ctx.People.Where(c => items.Contains(c.Id...
Quando abbiamo un metodo che deve tornare una lista di oggetti, la soluzione più semplice è quella di creare la lista vuota e riempirla con gli oggetti necessari per poi tornarla come nel seguente esempio.public List GetEvenNumbers(List input){ List result = new(); foreach...
La classe TimeSpan ha sempre avuto metodi From* per la creazione di un oggetto TimeSpan utilizzando un double come parametro di input. Tuttavia, double è un formato a virgola mobile e questo può causare una errori in fase di creazione dell'ggetto TimeSpan. Prendiamo come esempio ...
Quando in SQL vogliamo filtrare un set di dati intersecandolo con i dati provenienti da una subquery possiamo usare la clausola IN oppure una JOIN. Un'altra possibilità è quella di usare le clausole Intersect ed Except. Con queste clausole possiamo prendere due query e filtrare i...
A volte capita di avere a che fare con metodi che tornano un oggetto di tipo Object. Questo oggeto potrebbe essere di diversi tipi e dovremmo eseguire del codice in base al tipo e ai valori dell'oggetto. Queste operazioni sono sempre state possibili sin dalla prima versione di C...
Una delle situazioni più comuni quando si lavora con i database è quella dove si utilizza una chiave surrogata (un identity o un guid) come chiave primaria di una tabella e non si inserisce un indice univoco per la chiave naturale. Per fare un esempio, capita spesso che in una ...


