.NET Core 2.0中引入的全局查询筛选器非常便于软删除。但是,如果出现这种情况,我将如何查看那些软删除的数据?假设管理员要专门查看谁已被软删除。这意味着我必须以某种方式绕过该查询过滤器。现在,我认为我可以使用NotMapped
属性来指示是否要绕过它,但是我正在寻找最佳实践。
所以目前我的想法是使用NotMapped
属性
[NotMapped]
public bool IncludeDeletedFields { get; set; } = false;
并在全局过滤器中使用它,例如
builder.HasQueryFilter(p => p.IncludeDeletedFields ? p.IsDeleted || !p.IsDeleted : !p.IsDeleted);
但是还有什么更好的方法吗?