Autore: Stefano Mostarda
Il metodo statico Convert.ChangeType permette di ottenere un oggetto di un determinato tipo partendo dal valore dell'oggetto di un altro tipo a patto che il valore sia convertibile e che il tipo sorgente implementi l'interfaccia IConvertible. Per fare un esempio, il metodo può ...
Sono anni che non scrivo sul blog, ma voglio interrompere il digiuno per parlare di un argomento che mi sta sempre a cuore: Entity Framework e più in particolare Entity Framework Core. Il titolo del post è un sunto di diverse discussioni che ho avuto negli ultimi 6 mesi. L'ultima...
Quando lavoriamo con un database, una delle operazioni più comuni è il recupero di record che corrispondono a una lista di codici. Spesso questi campi codice non sono la chiave primaria della tabella in quanto si preferisce una chiave surrogata. Supponiamo di avere una tabella ...
Uno dei pattern più comuni in C# è quello che prevede l'utilizzo del blocco using quando si istanzia un oggetto che implementa l'interfaccia IDisposable e lo si vuole distruggere una volta arrivati alla fine del blocco. A partire da C# 8, una classe può implementare l'interfaccia...
I metodi LINQ *OrDefault (FirstOrDefault o SingleOrDefault solo per citarne alcuni) prevedono che se la query non restituisca un elemento, allora venga restituito il valore di default del tipo del'elemento. Per fare un esempio, se cerchiamo un elemento in una lista di classi e l'...
NET ha dichiarato guerra alle NullReferenceException già da diverso tempo grazie ai nullability check abilitati a livello di compilazione. Grazie a questi controlli fatti dal compilatore e all'aiuto del carattere speciale "?", possiamo scrivere codice che sia protetto da ...
Una delle richieste più frequenti quando si realizza una pagina che gestisce un'entità è quella di sapere l'utente che ha creato l'entità e la data di creazione oltre all'utente e la data di ultima modifica. Se adottiamo le temporal table di SQL Server, queste informazioni ...
A partire da .NET 6, abbiamo a disposizione quattro nuove interfacce che possono essere sfruttate per scrivere codice prima e dopo la serializzazione e la deserializzazione di un oggetto. Queste interfacce sono: IJsonOnDeserialized: dichiara il metodo OnDeserialized invocato dopo...
Nelle ultime versioni di Angular abbiamo stabilito a un progressivo assestamento del framework e del suo ecosistema necessari dopo l'introduzione del nuovo view engine Ivy. Angular 14 segna l'inizio di una nuova evoluzione, cominciando il pensionamento degli NgModule e ...