In alcune applicazioni cancellare fisicamente i dati non è possibile. In questo genere di applicazioni invece di usare la cancellazione fisica dei record, si usa quella logica cioè si marcano i record cancellati con un flag. Quando si estraggono i dati, bisogna far attenzione a non recuperare i record cancellati quindi bisogna impostare una condizione di ricerca.
Poiché questa condizione va applicata a tutte le query, è molto facile commettere errori. In questi casi torna utile una nuova funzionalità di Entity Framework Core 2.0: i filtri a livello di modello. Tramite questa funzionalità possiamo impostare un filtro su una entity a livello di mapping e Entity Framework Core 2 applicherà sempre questo filtro senza che dobbiammo specificarlo nella query.
modelBuilder.Entity<Person>() .HasQueryFilter(p => !p.Deleted);
In questo modo, ogni volta che eseguiamo una query che coinvolge l'entity Person, Entity Framework Core aggiungera una Where SQL che include solo i record che hanno il flag deleted a false.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare la session affinity con Azure Container Apps
Installare le Web App site extension tramite una pipeline di Azure DevOps
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Code scanning e advanced security con Azure DevOps
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Utilizzare database e servizi con gli add-on di Container App
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Paginare i risultati con QuickGrid in Blazor
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)