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 di una query LINQ per lanciare la cancellazione dei record espressi nella query.
context.Products .Where(p => p.Category = "shoes") .ExecuteDelete();
In questo caso, la query LINQ filtra i record con categoria "shoes" e infine genera un comand SQL di DELETE per quei record. Il comando è il seguente.
DELETE FROM Products Where Category = "shoes"
Così come per il metodo ExecuteUpdate, ExecuteDelete non va a toccare le entity presenti già caricate nel contesto che quindi rimangono nello stato in cui si trovano anche se potrebbero essere state cancellate dal database. Per questo motivo, potrebbe tornare utile scaricare le entity dal contesto (tramite ilmetodo Clear del ChangeTracker e ricaricarle così da averle sincronizzate con il database se necessario.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione delle scrollbar dinamiche in HTML e CSS
Utilizzare Containers in .NET Aspire
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Scrivere selettori CSS più semplici ed efficienti con :is()
Recuperare le subissue e il loro stato di completamento in GitHub
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Implementare il throttle in JavaScript
Gestione file Javascript in Blazor con .NET 9
Utilizzare una qualunque lista per i parametri di tipo params in C#
Ospitare n8n su Azure App Service
Integrare modelli AI in un workflow di GitHub
Generare una User Delegation SAS in .NET per Azure Blob Storage
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform


