我对这样的两个实体进行了linq查询
IQueryable<Employee> employees = CreateObjectSet<Employee>().AsQueryable();
IQueryable<Department> depts = CreateObjectSet<Department>().AsQueryable();
var result = (from employee in employees
join dept in depts
on emp.DeptID equals dept.ID
select employee
我的Employee实体有一个Department的导航属性并返回它的整个对象,但是这个查询不返回Department信息,我想我要设置select语句中的值,如下所示
var result = (from employee in employees
join dept in depts
on emp.DeptID equals dept.ID
**** employee.Dept=dept ****
select employee
我不想设置Employee类的所有属性,因此返回该新对象,请告诉我一些更好的方法。
由于
答案 0 :(得分:1)
你不能用“let”语句作为黑客吗?
var result = (from employee in employees
join dept in depts
on employee.DeptID equals dept.ID
let notUtile = employee.Dept=dept
select employee);
答案 1 :(得分:1)
我的理解是你想要选择所有员工以及他们的部门(如果我错了,请纠正我)。如果您有导航属性,则根本不需要加入。您可以像这样使用Include
:
List<Employee> employeesWithDepartments = CreateObjectSet<Employee>().
Include(e => e.Department).
ToList();