var context = context.MyEntity
.include(e => e.something)
.Include(e => e.scoring
.Select(sc=>sc.scoring_parameters
//This is problem
.Where(scp =>scp.scoring_id == sc.scoring_id)
.Select(scp =>scp.cis_scoring_parameters.cis_scoring_parameters_tabs)))
.include(e => e.something_else)
.FirstOrDefault(e => e.id == _id);
where clausule给出错误“Include路径表达式必须引用在类型上定义的导航属性”。我看过有这个错误的帖子,但它们不适合这个。我不知道怎么用正确的方式写我的lambda。有人可以帮忙吗?
答案 0 :(得分:0)
您无法像这样过滤包含数据。 Include
用于告诉EntityFramework要加载哪些数据。如果scoring_parameters.scoring_id
和scoring.scoring_id
彼此相关,那么您可以尝试以下内容:
var context = context.MyEntity
.include(e => e.something)
.Include(e => e.scoring
.Select(sc=>sc.scoring_parameters.Select(scp => scp.cis_scoring_parameters.cis_scoring_parameters_tabs)))
.include(e => e.something_else)
.FirstOrDefault(e => e.id == _id);
我认为scp.cis_scoring_parameters.cis_scoring_parameters_tabs
也是导航属性。