join in LINQ中带ON子句的OR条件
我想用LINQ编写一个查询,如下所示-join in LINQ中带ON子句的OR条件,linq,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, } 请帮助我解决在连接两个表时如何编写或(| |
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,
}
请帮助我解决在连接两个表时如何编写或(| |)。
谢谢。无法写入或加入LINQ的条件。可能的解决方法是使用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,
}
无法写入或连接LINQ的条件。可能的解决方法是使用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,
}
我可能听起来很傻,只是想知道这个交叉连接的结果是否和使用“或”(我想要的)连接的结果相同?@mailmehere是的,结果应该是same@mailmehere欢迎:)交叉连接查询应该比内部连接慢(取决于数据量),但这是唯一可以连接的方法,或者使用LINQi的条件可能听起来很愚蠢,我只是想知道这个交叉连接的结果会和我想要的“或”连接的结果一样吗?@mailmehere是的,结果应该是same@mailmehere欢迎:)交叉连接查询应该比内部连接慢(取决于数据量),但这是使用LINQ连接或条件的唯一方法