实体框架中join子句中的一个表达式的类型不正确。左连接常量

时间:2015-10-27 14:27:39

标签: c# sql-server entity-framework join linq-to-sql

我试图在EF查询中进行左连接。我收到以下错误:

  

错误CS1941 join子句中的一个表达式的类型是   不正确。调用' GroupJoin'

时,类型推断失败

这是C#代码:

var foo = from m in db.ClientMasters
                      join a in db.Orders on new { m.Id, Status = "N" } equals new { a.ClientID, a.Status } into a_join
                      from a in a_join.DefaultIfEmpty()
                      select new { m.ClientID, a.ID };

1 个答案:

答案 0 :(得分:3)

我是个白痴。列名必须在连接中匹配。这是更正后的代码。

var foo = from m in db.ClientMasters
                      join a in db.Orders on new { ClientID = m.Id, Status = "N" } equals new { a.ClientID, a.Status } into a_join
                      from a in a_join.DefaultIfEmpty()
                      select new { ClientID = m.Id, OrderId = a.Id };