Selezionare più livelli nidificati di tabelle figlio in Entity Framework Core

entity-framework-core

Domanda

Voglio ottenere più livelli nidificati di tabelle figlio in Entity Framework Core utilizzando caricamento ansioso. Non penso che il caricamento pigro sia ancora implementato.

Ho trovato una risposta per 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);

Il mio problema è che Select non è riconosciuto in EF Core

Errore CS1061 'Dipendenti' non contiene una definizione per 'Seleziona' e nessun metodo di estensione 'Seleziona' accetta un primo argomento di tipo 'Dipendenti' potrebbe essere trovato (ti manca una direttiva using o un riferimento di assembly?)

I miei spazi dei nomi inclusi:

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

Qual è l'alternativa per Select in EF Core.

Risposta accettata

È possibile utilizzare invece la parola chiave ThenInclude

per esempio

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


Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché