Linq左外连接 多字段连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq左外连接 多字段连接相关的知识,希望对你有一定的参考价值。

在与数据库打交道时,有事会遇到需要使用左外连接,与多字段连接的情况;现在又多用Linq技术,不直接写sql语句了。

今天就写下使用linq实现左外多字段连接。

【数据表结构】

ID1 ID2 V1
     
     
     
     
LID1 LID2 V2
     
     
     
     

 

 

 

 

 

【代码】

 1      var query =(from t1 in db.table1
 2                  join t2 in db.table2
 3                  on new {ID=t1.ID1,UserID=t1.ID2}
 4                  equal new {ID=t2.LID1,UserID=t2.LID2}
 5                  into temp
 6                  from t in temp.DefaultIfEmpty()
 7                  where t1.ID1=99
 8                  orderby t1.V1 descending
 9                  select new
10                  {
11                         t1.ID1,
12                         t1.ID2,
13                         t1.V1,
14                         t.V2 ??  0
15                  }).ToList();


太晚了,就简单点写了,哈哈!

以上是关于Linq左外连接 多字段连接的主要内容,如果未能解决你的问题,请参考以下文章

Linq to SQL 左外连接不是

LINQ:具有多个条件的左外连接

如何使用 Dynamic Linq 进行左外连接?

LINQ查询中的左外连接[重复]

linq中的左外连接

在 Linq 中使用左外连接