Выберите несколько вложенных уровней дочерних таблиц в Entity Framework Core

entity-framework-core

Вопрос

Я хочу получить несколько вложенных уровней дочерних таблиц в Entity Framework Core, используя активную загрузку. Я не думаю, что ленивая загрузка уже реализована.

Я нашел ответ для 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

Ошибка CS1061 «Сотрудники» не содержит определения для «Выбрать» и не может быть найден метод расширения «Выбрать», принимающий первый аргумент типа «Сотрудники» (вам не хватает директивы использования или ссылки на сборку?)

Мои включенные пространства имен:

using MyProject.Models;
using Microsoft.Data.Entity;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

Какая альтернатива для Select в EF Core.

Принятый ответ

ThenInclude этого вы можете использовать ключевое слово 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);


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему