entity-framework-core - 在 Entity Framework Core 中选择多个嵌套级别的子表

标签 entity-framework-core

我想使用预先加载在 Entity Framework Core 中获得多个嵌套级别的子表。我认为还没有实现延迟加载。

我找到了一个 answer对于 EF6。

var company = context.Companies
                 .Include(co => co.Employees.Select(emp => emp.Employee_Car))
                 .Include(co => co.Employees.Select(emp => emp.Employee_Country))
                 .FirstOrDefault(co => co.companyID == companyID);

我的问题是 Select EF Core 无法识别

Error CS1061 'Employees' does not contain a definition for 'Select' and no extension method 'Select' accepting a first argument of type 'Employees' could be found (are you missing a using directive or an assembly reference?)



我包含的命名空间:
using MyProject.Models;
using Microsoft.Data.Entity;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
Select的替代方案是什么?在 EF Core 中。

最佳答案

您可以使用关键字 ThenInclude反而

例如

var company = context.Companies
             .Include(co => co.Employees).ThenInclude(emp => emp.Employee_Car)
             .Include(co => co.Employees).ThenInclude(emp => emp.Employee_Country)
             .FirstOrDefault(co => co.companyID == companyID);

关于entity-framework-core - 在 Entity Framework Core 中选择多个嵌套级别的子表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34044888/

相关文章:

c# - EF Core 在迁移 (UP) 时将列数据从表移动到另一个表

sql-server - 数据库优先 EF7-beta7 dnx ef dbcontext scaffold 命令失败

linq - LINQ 查询中的 DayOfWeek

entity-framework-6 - MapToStoredProcedures 不可用

c# - EF Core - 字符串或二进制数据将被截断

sqlite - 为什么我的 Blazor 服务器应用程序要等待渲染,直到检索到数据,即使使用异步也是如此?

c# - 如果 EF Core 中的模型在没有迁移的情况下发生变化,则删除数据库

c# - 使用类作为关系时如何创建复合(主)键

entity-framework-core - EF Core 审核

c# - 如何在单元测试之间重置 EF7 InMemory 提供程序?