You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用EF Core .ThenInclude时触发System.InvalidOperationException异常求助

问题排查:System.InvalidOperationException 在使用 ThenInclude 时

错误原因

你误用了ThenInclude方法:ThenInclude仅用于加载导航属性(即实体间关联的其他实体/实体集合),而PassportNo是Candimmigration类的标量属性(普通字段),不属于导航属性范畴,因此触发该异常。

当你通过Include(i => i.Candimmigration)加载关联的Candimmigration实体时,该实体的所有标量属性(包括PassportNo)会被自动加载,无需额外调用ThenInclude。

修正后的代码

_dbContext.Candidates.Where(i => i.Id == 1)
                     .Include(i => i.Candimmigration)
                     .Load();

补充说明

  • Include/ThenInclude的核心作用是加载实体间的关联数据,例如:若Candimmigration存在关联的Passport实体导航属性,此时才需要使用ThenInclude(i => i.Passport)。
  • 字符串、数字、日期等标量属性,在加载主关联实体时会被默认包含,无需单独声明加载。

内容的提问来源于stack exchange,提问作者Unis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:10:52