LINQ - Select 在 entityframework 中加入的完整对象

LINQ - Select complete object with join in entityframework

我有一个名为 employee 的模型

[Table("tblemployee")]
public class Employee
{
   public int EmpID;
   public string EmpName;
   [NotMapped]
   public string EmpRole;
}

我有另一个角色模型

[Table("tblrole")]
public class Role
{
public int EmpID;
public string RoleName;
}

现在我想要一个 employee 的最终对象,它将 Role class 的 RoleName 设置为 Employee class 的 EmpRole。

var result =  from e in Context.Employee 
              join r in Context.Role on e.EmpID equals r.EmpID
              select new Employee {
              EmpID = e.EmpID,        
              EmpName = e.EmpName,
              EmpRole = r.RoleName
              };

在这里,我不想设置 employee class 的所有属性。我只想设置来自角色 class 的 emprole 属性。有没有其他方法可以让我 select 立即完成员工对象并且只设置 EmpRole 字段?请帮忙。

提前致谢

解决这个问题的唯一方法是 select table 中的 Employee 和角色,然后应用 ToList,然后在列表上应用 foreach 以在 Employee 对象中设置 EmpRole,然后 select列表中的员工对象。

var result =  (from e in Context.Employee 
              join r in Context.Role on e.EmpID equals r.EmpID
              select new { Employee = e, Role = r}).ToList();

result.ForEach(d => {d.Employee.EmpRole = d.Role.RoleName;});
var finalResult = result.Select(d => d.Employee);