Linq to Sql 左连接查询

Posted 黎明前的黑暗

tags:

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

 1 var query = from t0 in context.ExpressSendMaster
 2 join t1 in context.Supplier on t0.SupplierCode equals t1.SupplierCode
 3 join t2 in context.ExpressSendPackageRule on t0.AreaId equals t2.Id into t0_join
 4 from t0_t2 in t0_join.DefaultIfEmpty()
 5 where t0.Id == MasterId
 6 select new ExpressPackageOffLineModel
 7 {
 8 PackWeight = t0.Weight,
 9 SupplierCode = t1.SupplierCode,
10 SupplierName = t1.Name,
11 SendDate = t0.SendDate,
12 OneselfNumber = t0.OneselfNumber,
13 Memo = t0.Memo,
14 GroupCheck = t0.AreaCode,
15 GroupName = t0_t2.NumberType == null ? "" : t0_t2.NumberType,
16 GroupId = t0_t2.Id == null ? 0 : t0_t2.Id,
17 LimitWeight = t0_t2.LimitWeight == null ? 0 : t0_t2.LimitWeight
18 };
19 
20 
21 if (query.Count() <= 0)
22 {
23 model.HasError = true;
24 model.ErrorMessage = "错误提示";
25 return false;
26 }
27 
28 model.PackWeight = query.First().PackWeight;
29 model.SupplierCode = query.First().SupplierCode;
30 model.SupplierName = query.First().SupplierName;
31 model.SendDate = query.First().SendDate;
32 model.OneselfNumber = query.First().OneselfNumber;
33 model.GroupName = query.First().GroupName;
34 model.Memo = query.First().Memo;
35 model.GroupCheck = query.First().GroupCheck;
36 model.GroupId = query.First().GroupId;
37 model.LimitWeight = query.First().LimitWeight;
View Code

 

 

以上是关于Linq to Sql 左连接查询的主要内容,如果未能解决你的问题,请参考以下文章

Linq to SQL 使用 Lambda 语法进行左外连接并在 2 列上连接(复合连接键)

Linq to Sql 左连接 , 取右表可能为 null的 int类型字段

Linq to Sql:多个左外连接

使用 Linq to Sql 的左外连接结果问题

如何在 LINQ 中使用左外连接进行 SQL 查询?

在 Linq 中使用左外连接