小白求解,LINQ 多表join后select取值的问题
假设我有一张表叫User,我在User表的实体类里声明了一个NotMapped的属性,先叫他DeptName:
...
[NotMapped]
public string DeptName { get; set; }
...
还有一张表叫Department,User表通过DeptId字段与Department表关联
现在我对这两张表用Linq进行join,最后select的时候,能否在select里直接对User实体的DeptName属性赋值?
我现在的做法是new一个匿名对象,代码大致长这样:
var query =
from u in User
join d in Department on u.DeptId equals d.Id
select new { User = u, DeptName = d.Name };
然后再用toList()转成IEnumerable操作,但是写起来总是觉得繁琐
var list = query.ToList().Select(q =>
{
q.User.DeptName = q.DeptName;
return q.User;
}
能不能做到在查询表达式里就搞定这个赋值,而不用再另外写代码?