以下代码无效。我得到异常" Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。" 我做错了什么
public static MyEntity GetData(this IQueryable<MyEntity> source, int id, int year)
{
return source.Where(x => x.ID == id)
.Include(x => x.Childrens1)
.Include(x => x.Childrens2.where(y => y.Year == year))
.FirstOrDefault();
}
答案 0 :(得分:0)
包含表达式不支持的位置,您只能使用select,甚至嵌套。移动到包含
的地方public static MyEntity GetData(this IQueryable<MyEntity> source, int id, int year)
{
return source
.Include(x => x.Childrens1)
.Include(x => x.Childrens2)
.Where(x => x.ID == id && x.Childrens2.Any(y => y.Year == year))
.FirstOrDefault();
}
现在,您还可以统一FirstOrDefault
中的位置或过滤器