当前位置:  开发笔记 > 编程语言 > 正文

在Entity Framework Core中选择多个嵌套级别的子表

如何解决《在EntityFrameworkCore中选择多个嵌套级别的子表》经验,为你挑选了1个好方法。

我想使用急切加载在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"Employees"不包含"Select"的定义,也没有扩展方法"Select"接受类型为"Employees"的第一个参数(您是否缺少using指令或程序集引用?)

我包含的命名空间:

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

Select在EF Core中有什么替代方案.



1> devfric..:

您可以使用关键字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);


@JasonX这是IntelliSense中的一个错误,只是写你的查询,因为它将是一个实体,它将正常工作.
我疯了,或者这不再适用于EF Core 1.1.0?.ThenInclude将父对象视为ICollection,为我提供集合属性而不是单个元素的属性:/
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有