【发布时间】:2022-01-23 19:51:01
【问题描述】:
我有 3 张桌子:
学生
StudentID -PK
StudentName
测试
TestID - PK
StudentID-FK
TestName
标记
MarksID -PK
TestID-FK
Marks
我想获取特定学生的数据。我的查询将是
var result = db.Student
.Include("Test")
.Include("Marks")
.FirstOrDefault(c => c.StudentID == '123');
当我只查询 Student 和 Test 时,结果是正确的。当我包含第三个表时,即Marks 我得到一个错误:
`Microsoft.EntityFrameworkCore.Query.InvalidIncludePathError':找不到在基于字符串的包含路径“标记”中指定的导航“标记”。通过将事件 ID 'CoreEventId.InvalidIncludePathError' 传递给 'DbContext.OnConfiguring' 或 'AddDbContext' 中的 'ConfigureWarnings' 方法,可以抑制或记录此异常。
我们将不胜感激。
谢谢
【问题讨论】:
-
显示类,而不是抽象表。
-
这就是为什么你应该总是使用
Include的lambda版本。