LINQ连接多个表-返回所有匹配项,即使为null

时间:2018-07-23 07:49:42

标签: c# sql linq

我有3个表(团队,经理,managers_teams)。这是多对多的关系。我想返回所有团队,无论是否已将经理分配给该团队。 我暂时有这个,它不起作用。我遵循了guide,但我想我缺少了一些东西。

from t in teams
join mt in managers_teams on t.id equals mt.team_id into grp_t_mt
join m in managers on mt.manager_id equals m.id // stuck here. I tried many things here
from mt in grp_t_mt.DefaultIfEmpty()
select new tvVM
{
    id = t.id,
    name = t.teamname,
    manager = m.name
}
  • 桌队[id,teamname]
  • 表管理器[id,名称]
  • 表manager_teams [id,team_id,manager_id]

即使记录不匹配,我也希望从表team获取ID,teamname和表管理器的名称。

解决方案LEFT OUTER JOIN对我不起作用。我得到

  

对象引用未设置为对象的实例。

0 个答案:

没有答案