C# Linq中的Join使用
1、使用两个数据表Dk_SyDlCxInfo和testTable,当然多个也行,只不过需要使用多个Join,表大家随意建就是了,可以通过一个字段对两个表进行连接,而我使用两个字段来确定唯一性
2、使用的linq to sql类,这个已经淘汰多少年了,不过没事,EFCore中一样用,我之前学的linqtosql,现在使用EFCORE也很快上手,基本没什么区别
3、直接写,因为太简单,勿喷:
DataClasses1DataContext db = new DataClasses1DataContext();//获取库
var mydb = db.Dk_SyDlCxInfo
.Join(db.testTable, e => e.XiaoQu, j => j.campus, (e , j) => new { e,j}).Where(p=>p.e.XiaoQu==p.j.campus && p.e.Lhao==p.j.buildingNumber);
//首先Join的第一个参数需要给个表,然后做笛卡尔积,然后new一个新的表,表中就是两个表的笛卡尔集,接着通过where增加连接条件,我加个两个条件来确定数据
//第二个参数是指的第一个表Dk_SyDlCxInfo,第三个参数是指的第二个表testTable
Console.WriteLine(mydb.Count());//mydb中数据行
foreach (var item in mydb)
{
Console.WriteLine(String.Join("-", item.e.XiaoQu.Trim(), item.e.Lhao, item.e.LjDl, item.j.campus, item.j.buildingNumber, item.j.iIp));//打印多表查询中的个别数据
}
//笛卡尔积是a集合乘b集合,(强调的是乘这个动作),笛卡尔集是做笛卡儿积运算后形成的集合,要严谨
//List<addressip> addressipList = db.addressip.Where(d=>d.address_ipid !=null && d.address_ip !=null).ToList();
//List<roominfo> roominfoList = db.roominfo.ToList();
// var table_temp = roominfoList.Join(addressipList, e => e.address_ipid, f => f.address_ipid, (e, f) => new { e, f })
// .Where(p => p.e.address_ipid == p.f.address_ipid)
// .Select(a => new { a.e.campus_name, a.e.building_name, a.e.meter_number, a.f.address_ip });
// //foreach (var item in table_temp)
// //{
// // Console.WriteLine(String.Join("--", item.campus_name, item.building_name, item.meter_number, item.address_ip));
// //}
// //Console.ReadLine();
C# Linq中的Join使用相关推荐
- LINQ:使用join进行联接
在LINQ中,join可以实现3种类型的联接,分别是内部联接.分组联接.左外部联接. 内部联接: private static void UseInnnerJoin(){int[] intArray1 ...
- Linq 中的 left join
Linq 中的 left join 表A User: 表B UserType: Linq: from t in UserType join u in User on t.typeId equal u. ...
- Linq中的group by多表多字段,Sum求和
Linq中的group by多表多字段,Sum求和 //Line to Sql 写法var data = (from a in Itemsgroup a by new { a.GroupId, a.I ...
- LINQ中的Lambda表达式
Lambda Expressions in LINQ 在第12章,我提到可以用lambda表达式定义内联的委托定义.在如下表达式中: customer => customer.FirstName ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- 用日志记录LINQ中的所有增删改的SQL语句的方法
我们知道LINQ中的增删改都要调用SubmitChanges方法,我们记录所有SQL的方式就是重写(override)DataContext中的SubmitChanges方法,为了避免每次修改dbml ...
- 关于hive中Map join 时大表left join小表的问题
在hive中,(启用Map join时) 大表left join小表,加载从右向左,所以小表会加载进内存,存储成map键值对,通过大表驱动小表,来进行join,即大表中的join字段作为key 来获取 ...
- python threading模块的方法_Python THREADING模块中的JOIN()方法深入理解
看了oschina上的两个代码,受益匪浅.其中对join()方法不理解,看python官网文档的介绍: join([timeout]):等待直到进程结束.这将阻塞正在调用的线程,直到被调用join() ...
最新文章
- DIV+CSS 命名规范
- 快速排序(二)最后修改
- 如何看懂一个深度学习的项目代码
- python怎样给对象赋值_Python对象赋值、浅拷贝和深拷贝
- css 中的伪类选择器before 与after
- oracle rowed,oracle bitmap索引内部揭密,欢迎补充
- java标识符命名_Java标识符命名规则
- c语言结构体在内存中的存储,C语言结构体在内存中的存储情况探究------内存对齐...
- MTK 驱动(66)---Android recovery UI实现分析
- 【QCustomPlot】1.2 - QCustomPlot绘制静态曲线、常用函数的功能说明
- vc sleep不占进程_Python 中的进程深入
- C#基础5:字符串操作
- bios刷写工具_蓝天P750/P751编程器刷BIOS
- 最新emoji表情代码大全_如何给微信公众号菜单添加emoji(亲测有效)
- html 播放360全景图,讯网360全景展示产品-html5全景图-flash全景展示-360度全景图制作...
- 解析:学Java好还是HTML5好?
- 【MM小贴士】定义采购申请类型
- 539/CA_SI4136/SI4133/SI5351手册解读
- android创建layout,Android 创建不同的layout
- 某电商网站的数据库设计(2)——商品销售相关数据表的设计
热门文章
- 餐厅食堂用餐人数统计小程序系统开发制作功能介绍
- winscp上传文件后变0KB
- HTML那个函数用于实现平移,巧妙使用 transform 实现环形路径平移动画
- 美团餐饮娱乐知识图谱——美团大脑揭秘 1
- 11203 RAC(asm)恢复一例
- 黑马程序员Java零基础视频教程_下部(P135-P200)
- 运用计算机技术和语文教学,信息技术在语文教学中的运用(网友来稿)
- 钉钉微信小程序reLaunch和navigateTo,navigateTo的区别
- 我的世界服务器指定等级指令,我的世界:服务器如何才能禁用高频红石?别用指令,必须要用它?...
- 短信查询银行开户行信息