【发布时间】:2015-07-03 22:07:24
【问题描述】:
我找不到正确的查询来获取我需要的所有数据。
我有三个示例表:
- 员工(身份证、姓名、电话)
- EmployeeDepartment(Id、EmployeeId、DepartmentId)
- DepartmentAddress(ID、DepartmentId、城市、 街道,IsActive...)
每个表都与下一个表具有一对多的关系。一个员工可以分配到多个部门,一个部门可以分配多个地址。
我正在尝试编写一个实体框架查询,例如,它将返回分配给纽约市部门的所有员工。我的问题是我不只想要员工。我还需要它在 Employee 类中包含 EmployeeDepartment 和 DepartmentAddress 的所有属性。
我想做的是这样的:
var matchingEmployees = ctx.Employee
.Include("EmployeeDepartment")
.Include("EmployeeDepartment.DepartmentAddress")
.Where(p=> p.EmployeeDepartment
.Where(x=>x.DepartmentAddress.Where(y=>y.City == "New York)))
.ToList();
结果,当我只需要符合 Where 条件的部门时,我得到了所有部门和所有员工部门。什么查询会返回我需要的数据?
【问题讨论】:
标签: c# linq entity-framework