当我使用具有多列的多个表的连接时,我遇到了以下问题,我将遇到错误消息"无法从查询中推断出类型参数。"围绕"加入T4"。
在简单的SQL世界中,以下SQL查询是正常的,并且可以很好地执行。
select A.AColumn1, B.BColumn from TableA A
inner join TableB B
ON A.AColumn1 = B.BColumn1 AND A.AColumn2 = B.BColumn2
inner join TableC C
ON A.AColumn1 = C.CColumn1 AND A.AColumn2 = C.CColumn2
inner join TableD d
但是当有三个表,并且所有2个内连接条件都与两个或更多列相关时,我遇到了麻烦。
Linq SQL示例:
var query = from A in TableA
join B from TableB
on new {Column1 = A.AColunm1, Column2 = A.AColunm2} equals
new {Column1 = B.BColunm1, Column2 = B.BColunm2}
join C from TableC
on new {Column1 = A.AColunm1, Column2 = B.BColunm2} equals
new {Column1 = C.CColunm1, Column2 = C.CColunm2}
select new {A.AColunm1, C.CColunm2};
错误将发生在加入C