我一定缺少简单的东西。我创建了一个项目来保存数据模型。我添加了以下软件包:
我在Package Manager控制台中使用以下命令创建了模型:
Scaffold-DbContext "server=MyServer;database=MyDB;Integrated Security=False;User ID=MyUserId;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
现在,我有一个名为MyDBContext的上下文。但是,我似乎没有编写我期望的LINQ查询所需的方法。我希望能够写这样的东西:
var pt = context.Patient.Where(p => p.PatientId == 1234)
.Include(pa => pa.PatientAddress)
.ThenInclude(....)
ThenInclude不可用。我想念什么?
另一方面,我期望DbSet可以是多元的。为什么这没有发生?
答案 0 :(得分:0)
修改
首先,您必须在班级中包括扩展名:
using Microsoft.EntityFrameworkCore;
原始答案
它存在,但是:
代码完成仍然不提供ThenInclude中的属性。 例如,在文档示例中“作者”不是一个选项:
var blogs = context.Blogs .Include(blog => blog.Posts) .ThenInclude(post => post.Author) .ToList();
手动输入时,编译时不会出现错误或下划线并运行 正确。
请参见https://github.com/dotnet/roslyn/issues/8237#issuecomment-562997436