C# 如何使用包含查询EntityFramework.Core 3.0 DbContext
我一定错过了一些简单的东西。我创建了一个项目来保存数据模型。我添加了以下软件包:C# 如何使用包含查询EntityFramework.Core 3.0 DbContext,c#,entity-framework-core,C#,Entity Framework Core,我一定错过了一些简单的东西。我创建了一个项目来保存数据模型。我添加了以下软件包: Microsoft.EntifyFrameworkCore(3.1.0) Microsoft.EntitiFrameworkCore.SqlServer(3.1.0) Microsoft.EntityFrameworkCore.Tools(3.1.0) 我在Package Manager控制台中使用以下命令创建了模型: Scaffold-DbContext "server=MyServer;database=M
- Microsoft.EntifyFrameworkCore(3.1.0)
- Microsoft.EntitiFrameworkCore.SqlServer(3.1.0)
- Microsoft.EntityFrameworkCore.Tools(3.1.0)
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(....)
“包含”不可用。我错过了什么
另一方面,我希望DBSET是多元化的。为什么没有发生这种情况?编辑
首先,您必须在类中包含扩展:
using Microsoft.EntityFrameworkCore;
原始答案
它存在,但:
代码完成仍然不提供包含中的属性。
e、 例如,作者不是文档示例中的选项:
var blogs = context.Blogs
.Include(blog => blog.Posts)
.ThenInclude(post => post.Author)
.ToList();
手动输入时,编译时不会出现错误或下划线,并运行
没错
请参见谢谢,但我甚至没有收到。然后将其包含在intellisense中,如果我添加它,项目将不会编译。错误:IQueryable'不包含'ThenClude'的定义,并且找不到可访问的扩展方法'ThenClude'接受类型为'IQueryable'的第一个参数(是否缺少using指令或程序集引用?)请使用Microsoft.EntityFrameworkCore尝试
代码>就在这里。我希望代码示例包括必需的“using”语句。非常感谢。