Linq Join
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linq Join,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3893字,纯文字阅读大概需要6分钟。
内容图文
![Linq Join](/upload/InfoBanner/zyjiaocheng/1313/370129fe0916470e80b2d7a16a4c8036.jpg)
学生集合:
1 private static List<Student> stu_li = new List<Student> 2{ 3new Student { UserId="1",Name="Tom",Age=25,DeptId="11"}, 4new Student { UserId="2",Name="Cos",Age=26,DeptId="11"}, 5new Student { UserId="3",Name="Tan",Age=27,DeptId="12"}, 6new Student { UserId="4",Name="Sin",Age=28,DeptId="13"} 7 };
学部集合:
1 private static List<Deptment> dept_li = new List<Deptment> 2{ 3new Deptment { DeptId="11",DeptName="信息学部",Description="" } 4 };
=========================================================================
left join
=========================================================================
说明:如果学生中的DeptId在学部中不存在的话,请在代码①行中加上new Deptment(),否则会报错。
1 public static void LinqLeftJoin() 2 { 3 var data_left_join = from stu in stu_li 4 join dept in dept_li on stu.DeptId equals dept.DeptId into depts 5from dept_tmp in depts.DefaultIfEmpty(new Deptment())//① 6selectnew { StudentName = stu.Name, Age = stu.Age, DeptName = dept_tmp.DeptName }; 7 8string str = JsonConvert.SerializeObject(data_left_join); 9 Console.WriteLine(str); 10 }
结果:
1 [ 2 { 3 "StudentName":"Tom", 4 "Age":25, 5 "DeptName":"信息学部" 6 }, 7 { 8 "StudentName":"Cos", 9 "Age":26, 10 "DeptName":"信息学部" 11 }, 12 { 13 "StudentName":"Tan", 14 "Age":27, 15 "DeptName":null16 }, 17 { 18 "StudentName":"Sin", 19 "Age":28, 20 "DeptName":null21 } 22 ]
=========================================================================
inner join
=========================================================================
1 public static void LinqInnerJoin() 2 { 3var data_left_join = from stu in stu_li 4 join dept in dept_li on stu.DeptId equals dept.DeptId 5 select new { StudentName = stu.Name, Age = stu.Age, DeptName = dept.DeptName }; 67 string str = JsonConvert.SerializeObject(data_left_join); 8 Console.WriteLine(str); 9 }
结果:
1 [ 2 { 3 "StudentName":"Tom", 4 "Age":25, 5 "DeptName":"信息学部" 6 }, 7 { 8 "StudentName":"Cos", 9 "Age":26, 10 "DeptName":"信息学部" 11 } 12 ]
==========================================================================
cross join
==========================================================================
//在学部集合中新加了一行数据:
1 private static List<Deptment> dept_li = new List<Deptment> 2{ 3new Deptment { DeptId="11",DeptName="信息学部",Description="" }, 4new Deptment { DeptId="16",DeptName="社科学部",Description="" }, 5 };
1 public static void LinqCrossJoin() 2 { 3 var data_left_join = from stu in stu_li 4from dept in dept_li 5selectnew 6 { 7 StudentName = stu.Name, 8 Age = stu.Age, 9 DeptName = dept.DeptName, 10 Description = dept.Description 11 }; 1213string str = JsonConvert.SerializeObject(data_left_join); 14 Console.WriteLine(str); 15 }
结果:
1 [ 2 { 3 " StudentName ":"Tom", 4"Age":25, 5"DeptName":"信息学部", 6"Description":"" 7 }, 8 { 9"StudentName":"Tom", 10"Age":25, 11"DeptName":"社科学部", 12"Description":""13 }, 14 { 15"StudentName":"Cos", 16"Age":26, 17"DeptName":"信息学部", 18"Description":""19 }, 20 { 21"StudentName":"Cos", 22"Age":26, 23"DeptName":"社科学部", 24"Description":""25 }, 26 { 27"StudentName":"Tan", 28"Age":27, 29"DeptName":"信息学部", 30"Description":""31 }, 32 { 33"StudentName":"Tan", 34"Age":27, 35"DeptName":"社科学部", 36"Description":""37 }, 38 { 39"StudentName":"Sin", 40"Age":28, 41"DeptName":"信息学部", 42"Description":""43 }, 44 { 45"StudentName":"Sin", 46"Age":28, 47"DeptName":"社科学部", 48"Description":""49 } 50 ]
=========================================================================
1 /// <summary> 2 /// 学生 3 /// </summary> 4 public class Student 5 { 6 public string UserId { get; set; } 7publicstring Name { get; set; } 8publicint Age { get; set; } 910publicstring DeptId { set; get; } 11 } 1213///<summary>14/// 学部 15///</summary>16publicclass Deptment 17 { 18publicstring DeptId { get; set; } 19publicstring DeptName { get; set; } 20publicstring Description { get; set; } 21 }
原文:https://www.cnblogs.com/chenzongyan/p/9767101.html
内容总结
以上是互联网集市为您收集整理的Linq Join全部内容,希望文章能够帮你解决Linq Join所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。