Ricerca avanzata
Autore: Stefano Mostarda
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 ...
Nello script #619 abbiamo sottolineato che le librerie per creare un client FTP in .NET sono state deprecate a partire dalla versione 6 e che Microsoft non le rimpiazzerà con nuove versioni moderne. Per sostituire le librerie obsolete, abbiamo introdotto la libreria FluentFTP e ...
Quando dobbiamo aggiornare un record sul database utilizzando Entity Framework, la tecnica più semplice è quella di recuperare l'oggetto, modificarne le proprietà e invocare la persistenza. Se dobbiamo eseguire l'aggiornamento di molti record, questa tecnica può risultare molto ...
A partire da .NET 6, le classi HttpWebRequest, FtpWebRequest e le loro collegate sono state deprecate e per nuovi progetti ne è sconsigliato l'utilizzo. Mentre la classe HttpWebRequest è stata sostituita da HttpClient, FtpWebRequest non ha visto e non vedrà lo sviluppo di una ...
Versione dopo versione, il team di EF ha aggiunto diversi punti di estensione per intercettare eventi nel momento in cui questi si verificano. I primi punti di intercettazione sono stati quelli che si inserivano nella pipeline di esecuzione del codice SQL. Successivamente si sono...
Quando aggiungiamo un attributo su un metodo, può capitare di dover passare, come parametro dell'attributo, il nome di un parametro del metodo. Fino a C# 10, il nome del parametro può essere specificato solamente passando la stringa e questo comporta lo svantaggio che in caso di ...
Quando eseguiamo la cancellazione di una entity, Entity Framework verifica sempre che l'operazione di DELETE sul database abbia effettivamente eliminato il record e, in caso negativo, Entity Framework lancia una DbUpdateConcurrencyException. Tuttavia quando eseguiamo la ...
C# permette di effettuare la string interpolation anteponendo alla stringa il carattere dollaro "$" e usando le parentesi graffe "{}" come demarcatori. Se dobbiamo fare l'escape delle parentesi graffe (nei casi in cui la nostra stringa può contenere parentesi graffe), ci basta ...
Quando utilizziamo il metodo SaveChanges o la sua controparte asincrona, EF genera automaticamente una transazione ed esegue i comandi all'interno di essa. Prendiamo come esempio il seguente codice.using var ctx = new MyContext();ctx.Customers.Add(customer);ctx.Orders.Add(order);...
Molto spesso capita di avere attributi di cui dobbiamo impostare una proprietà di tipo Type. A partire dalla versione 11, C# permette di creare attributi che accettano un parametro generico sostituendo la proprietà di tipo Type. public class GenericAttribute : Attribute { }public...