Nello script #459 abbiamo visto che, a livello di mapping, possiamo impostare dei filtri da applicare a tutte le query su un determinato entity set. Questa tecnica viene molto usata per le delete logiche dove il filtro per scartare i record cancellati viene impostato a livello globale senza doverlo specificare per ogni query.
Tuttavia, esistono dei casi in cui il filtro non deve essere applicato. Per fare un esempio, se vogliamo che l'utente sia in grado di annullare la cancellazione di un record, dobbiamo mettergli a disposizione una maschera con i record cancellati. Questo significa che la query per mostrare i record cancellati deve eliminare il filtro preimpostato a livello di mapping per poi applicarne un altro. Per fare questo, dobbiamo usare il metodo IgnoreQueryFilters che, per la singola query, annulla qualunque filtro impostato a livello globale per l'entity.
var people = db.People .IgnoreQueryFilters() .Where(p => p.Deleted) .ToList();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Blazor e Static Web Assets in .NET 10
Esporre tool MCP da API REST con Azure App Service
Analizzare il contenuto di una issue con GitHub Models e AI
Utilizzare i named query filter di Entity Framework
Gestire il ciclo di vita di AbortController in Javascript
Esporre un server MCP esistente con Azure API Management
GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale
Utilizzo delle Feature flag in ASP.NET Core
Abilitare .NET 10 su Azure App Service e Azure Functions
Monitorare le tabelle di Azure SQL Database con Change Event Streaming
Le cron expression di un workflow di GitHub
Utilizzare il top layer in HTML


