Tutti i contenuti di WinFXItalia.com
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 ...
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 ...