我想使用预先加载在 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/