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

 

 

转载于:https://www.cnblogs.com/hanmian4511/p/6274241.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LINQ to Objects(Language-Integrated Query,语言集成查询)是.NET Framework 3.5中引入的一种查询技术,它允许在C#和VB.NET等编程语言中直接使用类似于SQL查询语法来操作对象集合。LINQ to Objects可以简化数据访问层的代码,提高开发效率。 LINQ to Objects的主要特点包括: 1. 声明性查询:可以使用简洁的语法编写查询,而无需关心底层的数据访问细节。 2. 延迟执行:查询只会在需要结果时才会执行,这有助于提高性能。 3. 支持多种查询操作:包括筛选、排序、投影、连接等。 4. 支持动态类型:LINQ to Objects可以处理各种类型的对象,无需进行类型转换。 以下是一个简单的LINQ to Objects示例: ```csharp using System; using System.Collections.Generic; using System.Linq; class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } class Program { static void Main() { List<Person> people = new List<Person> { new Person { Id = 1, Name = "张三", Age = 28 }, new Person { Id = 2, Name = "李四", Age = 32 }, new Person { Id = 3, Name = "王五", Age = 25 }, }; // 使用LINQ to Objects查询年龄大于等于30的人,并按年龄升序排列 var result = from person in people where person.Age >= 30 orderby person.Age ascending select person; // 输出查询结果 foreach (var person in result) { Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}"); } } } ``` 在这个示例中,我们首先创建了一个包含Person对象的列表,然后使用LINQ to Objects查询年龄大于等于30的人,并按年龄升序排列。最后,我们遍历查询结果并输出到控制台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值