Maison >développement back-end >C++ >Comment puis-je filtrer les entités supprimées de manière logicielle à l'aide d'Entity Framework ?

Comment puis-je filtrer les entités supprimées de manière logicielle à l'aide d'Entity Framework ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-05 13:52:44675parcourir

How Can I Filter Out Soft-Deleted Entities Using Entity Framework?

Filtrage des entités supprimées de manière logicielle avec Entity Framework

Le comportement par défaut d'Entity Framework inclut les entités supprimées de manière logicielle dans les résultats de la requête. Pour filtrer automatiquement ces entités, envisagez la solution suivante.

Solution : EntityFramework.DynamicFilters

Exploitez la bibliothèque EntityFramework.DynamicFilters pour appliquer des filtres globaux aux requêtes, y compris sur les propriétés de navigation. En implémentant l'interface ISoftDelete dans vos entités et en définissant un filtre dans la méthode DbContext.OnModelCreating(), vous pouvez exclure automatiquement les entités supprimées de manière logicielle des résultats de la requête.

modelBuilder.Filter("IsDeleted", (ISoftDelete d) => d.IsDeleted, false);

Ce filtre injectera une clause Where sur n'importe quel requête sur les entités qui implémentent ISoftDelete, excluant effectivement celles marquées comme supprimées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn