Seleccione varios niveles anidados de tablas secundarias en Entity Framework Core

entity-framework-core

Pregunta

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:

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);

¿Cuál es la alternativa para Select en EF Core?

Respuesta aceptada

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);



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué