EF:Include路径表达式必须引用在类型上定义的导航属性
本文关键字:类型 定义 属性 导航 引用 Include 路径表达式 EF | 更新日期: 2023-09-27 18:01:03
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子句给出错误"Include路径表达式必须引用在类型上定义的导航属性"。我看到过有此错误的帖子,但它们不适合此错误。我不知道如何以正确的方式编写lambda。有人能帮忙吗?
不能像这样过滤include中的数据。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
也是一个导航属性。