我想知道为什么在 Single() 之后不能在急切加载中使用 Include()。例如,在以下代码段中,Include 不可用:
db.Teachers.Single(p => p.Id == currUserId)
.Include(t => t.OfferedCourses)
.RegisteredCourses
.ToList();
但是,如果我在 Include() 之后有 Single(),它会起作用:
db.Teachers.Include(t => t.OfferedCourses)
.Single(p => p.Id == currUserId)
.RegisteredCourses
.ToList();
这样会返回很多不必要的相关数据。以下是我最终使用的方法:
db.Teachers.Where(p => p.Id == currUserId)
.Include(t => t.OfferedCourses)
.First()
.RegisteredCourses
.ToList();
这是唯一的解决方案吗?