【发布时间】:2019-08-27 20:39:03
【问题描述】:
我正在尝试在实体框架中使用 Select Projection 执行 ThenInclude。
我们有三个表,ProductType 连接到 ProductTypeDepartmentBridge,然后连接到 Departments 表。
由于某种原因,在投影选择中,我不能只选择部门中的列。 Intellisense 给出一个错误,它不会出现。但是,我至少可以看到然后包括到 Department 表。
var departmentsByProductType = unitOfWork.DBSet<Productype>()
.Include(d => ProductTypeDepartmentBridge)
.ThenInclude(d => d.Department)
.Where(d => d.ProductTypeId == 5)
.Select(d => new
{
DepartmentId = d.DepartmentId,
DepartmentName = d.DepartmentName
});
错误:
DepartmentId = d.DepartmentId,
DepartmentName = d.DepartmentName
注意:一个 ProductType 可以返回多个部门,因为 Bridge 表具有多对多关系。
【问题讨论】:
-
我认为您的意思是改用
.Select()。将.Include()与投影一起使用没有任何意义。 -
您遇到了什么具体错误?
标签: c# entity-framework linq asp.net-core .net-core