我正试图做一个像这样的表达式:
from a in objcxt.tableA
join b in objcxt.tableB
on a.fld1 equals b.fld1 and a.fld2 equals b.fld2
into b_join from b in b_join.DefaultIfEmpty()
编辑:b.fld2可以为null。
我试过“和”,“&&”,但没有成功。
一些帮助?
答案 0 :(得分:3)
您需要将其编写为使用 等于 运算符,该运算符只能在 on 之后使用一次强烈的声明。所以,需要这样的东西。
from a in objcxt.tableA
join b in objcxt.tableB
on new { a.fld1, a.fld2 } equals new { b.fld1, b.fld2 }
into b_join from b in b_join.DefaultIfEmpty()
答案 1 :(得分:2)
您需要在联接中使用匿名类型来指定联接中的多个字段。
on new {a.fld1, a.fld2} equals new {b.fld1, b.fld2}
答案 2 :(得分:1)
你可以尝试:
from a in objcxt.tableA
join b in objcxt.tableB
on
new { a.fld1, a.fld2 }
equals
new { b.fld1, b.fld2 }
into b_join from b in b_join.DefaultIfEmpty()