Ricerca avanzata
Autore: Stefano Mostarda
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 ...
Quando abbiamo un oggetto e vogliamo verificare che abbia certe caratteristiche (ad esempio che una o più proprietà abbiano un certo valore), possiamo accedere alle proprietà in modo diretto e verificarne il valore. Tuttavia, con l'introduzione del Pattern Matching, possiamo ...
Uno dei limiti principali di EF (e di altri O/RM) è quello di non permettere l'esecuzione di più comandi in contemporanea pena il sollevamento di un'eccezione. Esistono tuttavia molti casi in cui eseguire query in simultanea è necessario per ottimizzare le prestazioni. Pensiamo ...
Quando creiamo applicazioni non web (console, MAUI, WPF, servizi windows e così via) spesso abbiamo la necessità di invocare web api. Le web api serializzano e deserializzano i JSON di input e output sfruttando la libreria System.Text.Json con dei settings predefiniti che vengono...
La stragrande maggioranza dei sistemi lavora con dati e quindi è normale che l'accesso al database rivesta un ruolo fondamentale nelle performance. Quando vogliamo ottimizzare le performance, dobbiamo sapere prima di tutto quali sono le query più lente così che possiamo ...
Quando abbiamo un array di task e vogliamo andare avanti solo quando l'esecuzione di tutti i task è terminata, WhenAll è sicuramente il metodo più semplice. Il problema di WhenAll è che restituisce il controllo solamente quando tutti i task sono completati. Sebbene questo ...
Nello script #664 abbiamo introdotto il metodo IntersectBy che permette di trovare gli oggetti appartenenti a due liste specificando una lambda che effettua la comparazione tra oggetti. In questo script introduciamo il metodo ExceptBy che fa l'esatto opposto: cerca gli oggetti ...
Nello script #663 abbiamo introdotto il metodo Split della classe Span[T] che permette di semplificare le operazioni di suddivisione delle stringhe. In questo script vediamo invece come utilizzare altri due metodi introdotti da .NET 9: StartsWith e EndsWith.Questi nuovi metodi ...
Negli script #658 e 662 abbiamo parlato di due metodi di LINQ introdotti nella versione 9 di .NET. In questo script parliamo di un altro metodo introdotto sempre da questa versione: IntersectBy. Questo metodo permette di trovare gli elementi in comune tra due liste. Sin dalla ...