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

私の問題はSelectEF Coreで認識されないことです

エラー CS1061 'Employees' には 'Select' の定義が含まれておらず、'Employees' 型の最初の引数を受け入れる拡張メソッド 'Select' が見つかりません (using ディレクティブまたはアセンブリ参照が不足していますか?)

私が含めた名前空間:

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

SelectEF Coreの代替手段は何ですか。

ベストアンサー1

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

おすすめ記事