C# 在实体框架中的Join语句中使用Include语句功能

C# 在实体框架中的Join语句中使用Include语句功能,c#,.net,entity-framework,C#,.net,Entity Framework,我对两个类似这样的实体进行了linq查询 IQueryable<Employee> employees = CreateObjectSet<Employee>().AsQueryable(); IQueryable<Department> depts = CreateObjectSet<Department>().AsQueryable(); var result = (from employee in employees

我对两个类似这样的实体进行了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
                 var result = (from employee in employees                         
                      join dept in depts
                          on emp.DeptID equals dept.ID
                           ****  employee.Dept=dept            ****
                                select employee
我不想设置Employee类的所有属性并因此返回新对象,请告诉我一些更好的方法

谢谢

难道你不能用“让”这个词作为攻击吗

 var result = (from employee in employees                         
                  join dept in depts
                      on employee.DeptID equals dept.ID
                       let notUtile = employee.Dept=dept
                            select employee);

我的理解是,您希望选择所有员工及其部门(如果我错了,请纠正我)。如果您有导航属性,则根本不需要联接。您可以像这样使用
Include

List<Employee> employeesWithDepartments = CreateObjectSet<Employee>().
                                          Include(e => e.Department).
                                          ToList();
List employeesWithDepartments=CreateObjectSet()。
包括(e=>e.Department)。
托利斯特();

它在itarg上带有“let”关键字的行上给出错误“表达式树不包含赋值运算符”。您能定义employee.SetDept(dept)功能吗?(然后在let语句中使用它)哦。。。我没有意识到您的查询是在实体框架集上进行的。我很抱歉你不能这样做,因为“select”和“update”语句在SQL中不兼容。所以,没有办法做到这一点?只有一个请求-这是select!-?我对此表示严重怀疑:-/不,我的实际查询非常复杂,包含多个表,因此需要联接,您的方向是正确的,我需要类似“include”的内容,但我需要在“联接”上下文中使用它。我将重复:如果您有导航属性,则不需要联接。您可以将实际查询添加到问题中,我可以看看如何将
包含
添加到问题中。是的,我会检查和交叉检查,我需要的所有内容都在导航属性中,如果我需要具有特定EmployeeIDGood的员工,我是否应该使用where子句,然后您可以使用
包含
。是的,你可以使用where,例如,
objectSet.Include(e=>e.Department)。where(e=>e.Id==yourId)
还有两件事,一件是我很笨,另一件是你很棒。谢谢