或者在LINQ中使用ON子句加入条件

时间:2013-09-02 12:22:00

标签: linq

我想在LINQ中编写一个查询,如下所示 -

from tab1 in database.table1.getall()
join tab2 in database.table2.getall()
on tab1.field1 equals tab2.field1 || tab1.field2 equals tab2.field1
select new
{
   tab1.field1,
   tab1.field2,
   tab1.field3,
}

请帮助我在加入2个表时如何编写 OR(||)。 感谢。

1 个答案:

答案 0 :(得分:1)

在与LINQ的连接中写入OR条件是不可能的。可能的解决方法是使用WHERE子句进行交叉连接:

from tab1 in database.table1.getall()
from tab2 in database.table2.getall()
where tab1.field1 == tab2.field1 || tab1.field2 == tab2.field1
select new
{
   tab1.field1,
   tab1.field2,
   tab1.field3,
}