我在3个表之间有以下关系
祖父母:环境
父级:组织
child:Dataset
我想选择所有数据集 来自OrganizationName == org的组织 以及EnvironmentName == env
的环境我尝试使用Entity Framework
var result = myContext.Environment
.Where(t => t.EnvironmentName == env)
.Include(s => s.Organizations)
.Where(t => t.OrganizationName == org)
.Include(t => t.Datasets);
但它不起作用 - 错误消息说t.OrganizationName不是Environment的成员 - 这是真的
OrganizationName和EnvironmentName是唯一的
如何做到这一点?
答案 0 :(得分:0)
您可以使用此查询选择数据集:
package.json
答案 1 :(得分:0)
免责声明:我是该项目的所有者Entity Framework Plus
EF + Query IncludeFilter功能允许过滤相关实体。
var result = myContext.Environment
.Where(t => t.EnvironmentName == env)
.IncludeFilter(s => s.Organizations.Where(o => OrganizationName == org))
.IncludeFilter(t => t.Datasets);
注意:你不能混用Include&& IncludeFilter。