假设我有一个实体,就像这样:
Public classs Blog{
public int x,
public bool y,
public virtual ICollection<someType> someTypes
public virtual ICollection<Post> Posts
}
现在我要触发以下查询:
repository.findBy(
blogs => blogs.y,
blogs => blogs.someTypes,
blogs => blogs.Posts.where(someVar => someVar.someField == someValue)
).select()
someField是Post的属性。
其中findBy是:
IQueryable<T> FindBy(Expression<Func<T, bool>> predicate = null, params Expression<Func<T, object>>[] includes);
它出现以下错误:
Include路径表达式必须引用在类型上定义的导航属性。使用参考导航属性的虚线路径和用于集合导航属性的Select运算符
答案 0 :(得分:0)
尝试删除此 $('#TestGrid').datagrid("unselectAll");
这不是导航属性,您只能在include语句中包含Navigation属性。
默认情况下会填充列,除非您使用投影。
blogs => blogs.y
注意* EF团队尚未实施条件包含
这仍是EF团队的工作项目,您可以投票here
请注意,目前无法过滤加载了哪些相关实体。包含将始终引入所有相关实体。 Msdn Reference