我的大多数实体(并非全部)都有两个称为CompanyId
和的属性Deleted
。如何为所有选择请求自动插入这两个属性,而不是对整个应用程序中的每个查询手动进行设置。
例:
db.MyEntity.Where(me => me.Id == 1).Select(me => me.Description)
Run Code Online (Sandbox Code Playgroud)
CompanyId
和Deleted
。db.MyEntity.Where(me => me.Id == 1 && Deleted == false && CompanyId == 1).Select(me => me.Description
)
这将有助于我对所有具有可用属性的查询设置这些条件。
entity-framework dynamicquery predicatebuilder entity-framework-6
当我尝试根据一个简单的值过滤一个子集合时,可以通过执行以下操作轻松实现:
db.Table.Where(a => a.SubTable.Any(b => b.SubTableId == 1));
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试根据与其对应的值列表来过滤相同的子集合时,我一直都在出错。
List<long> listOfIDs = new List<long> { 1, 2, 3 };
db.Table.Where(a => listOfIDs.Any(a.SubTable.Select(b => b.SubTableId));
Run Code Online (Sandbox Code Playgroud)
我搜索了很多方法,但我仍在启动EF。我收到的错误是无法从System.Collections.Generic转换为Func。
有人感冒请帮我告诉我我在做什么错?我只想使用数组,列表等来过滤集合...
问候,鲁本斯