绕过全局查询过滤器

时间:2019-11-22 18:28:02

标签: c# entity-framework-core

.NET Core 2.0中引入的全局查询筛选器非常便于软删除。但是,如果出现这种情况,我将如何查看那些软删除的数据?假设管理员要专门查看谁已被软删除。这意味着我必须以某种方式绕过该查询过滤器。现在,我认为我可以使用NotMapped属性来指示是否要绕过它,但是我正在寻找最佳实践。

所以目前我的想法是使用NotMapped属性

[NotMapped]
public bool IncludeDeletedFields { get; set; } = false;

并在全局过滤器中使用它,例如

builder.HasQueryFilter(p => p.IncludeDeletedFields ? p.IsDeleted || !p.IsDeleted : !p.IsDeleted);

但是还有什么更好的方法吗?

0 个答案:

没有答案