Quiero obtener múltiples niveles anidados de tablas secundarias en Entity Framework Core usando una carga impaciente. No creo que la carga perezosa esté implementada todavía.
He encontrado una respuesta para 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);
Mi problema es que Select
no se reconoce en EF Core
Error CS1061 'Empleados' no contiene una definición para 'Seleccionar' y no se puede encontrar ningún método de extensión 'Seleccionar' aceptando un primer argumento del tipo 'Empleados' (¿falta una directiva de uso o una referencia de ensamblaje?)
Mis espacios de nombres incluidos:
using MyProject.Models;
using Microsoft.Data.Entity;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
¿Cuál es la alternativa para Select
en EF Core?
Puede utilizar la palabra clave ThenInclude
en ThenInclude
lugar
p.ej
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);