Ant*_*aja 5 c# asp.net-mvc entity-framework-6
我尝试进行全局查询。我知道这在 EF Core 2.0 中是可能的,但是我需要使用 EF 6 来完成。
我尝试在 EF 6 中做这样的事情:(IsDeleted 是我的 Class Cliente 中的一个属性,作为布尔值)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Client>().HasQueryFilter(x => x.IsDeleted= false);
}
Run Code Online (Sandbox Code Playgroud)
我将感谢您的帮助,谢谢!
我相信您希望在您的应用程序中实现软删除。要应用全局查询过滤器,您也可以遵循此方法。
首先,System.linq.Dynamic使用 NuGet 安装库。
然后创建一个扩展方法,例如:
public static IQueryable<T> WhereDeleted<T>(this IQueryable<T> source)
{
return source.Where("IsDeleted== false");
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用其他方法:
var client = db.Client.Include("whatever you need")
.WhereDeleted().Where(c => c.Age < 30);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2227 次 |
| 最近记录: |