Tutti i contenuti di WinFXItalia.com
Quando si sviluppano classi come controller, manager, service, utility e altro ancora, una delle operazioni più comuni è quella di iniettare le dipendenze. Prima di C# 12, le uniche possibilità per iniettare queste dipendenze era usare un costruttore o le proprietà. Un esempio ...
Una delle funzionalità di EF6 è la capacità di eseguire query SQL e restituire oggetti che non devono obbligatoriamente essere mappati nel DbContext. Questa funzionalità non è stata portata su Entity Framework Core complicando i percorsi di migrazione da EF6 a EF Core in quanto, ...
Negli ultimi anni, molte delle funzionalità di C# sono state aggiunte prendendo spunto da altri linguaggi. I range per le liste e la string interpolation sono tipici esempi di quest'affermazione in quanto sono fnzionalità già presenti da tempo in linguaggi come JavaScript e ...
Quando lavoriamo con SQL e vogliamo eseguire unagroup by è naturale includere nella suddetta clausola gli stessi campi che includiamo nella clausola select. Prendiamo come esempio la seguente istruzione SQL.SELECT a.Id, a.Name, MAX(Price)FROM Books bINNER JOIN Authors a ON ...
In .Net, il Garbage Collector (GC) si occupa di gestire la memoria che non viene più utilizzata dallanostra applicazione. Se la nostra applicazione alloca molta memoria, il GC dovrà intervenire spesso. Il GC è un processo che ha un costo molto pesante in termini di performance ...
Normalmente, quando si usa l'operatore GroupBy per raggruppare i dati di una query, si utilizza in seguito un operatore Select per decidere quali dati restituire al client.A partire da Entity Framework 7, possiamo utilizzare GroupBy anche come ultima istruzione di una query LINQ...
Quando vogliamo misurare le performance di alcune parti del codice di un'applicazione, siamo tentati di utilizzare uno Stopwatch. Questo approccio può essere valido per fare una valutazione iniziale di massima, ma non è molto affidabile quando si vogliono fare misurazioni più ...
Quando dobbiamo creare una tabella e optiamo per l'uso di chiavi surrogate, la scelta del tipo del campo chiave è tra un valore autoincrementale generato dalla tabella nel database (campo identity) o un valore conosciuto già prima della insert (Guid o sequence). Uno dei motivi ...
Negli script precedenti abbiamo visto come creare un client FTP tramite la libreria FluentFTP. In particolare abbiamo visto come effettuare l'upload e il download di un file, mentre in questo script vedremo come ottenere il contenuto di una cartella sul server.Dopo aver creato il...
Nello script #620 abbiamo visto come sfruttare il metodo ExecuteUpdate per creare un comando SQL di update massiva. In questo script ci occupiamo di un metodo molto simile, ma che invece che aggiornare i record li elimina: ExecuteDelete. Questo metodo possiamo metterlo alla fine ...