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使用相关推荐

  1. LINQ:使用join进行联接

    在LINQ中,join可以实现3种类型的联接,分别是内部联接.分组联接.左外部联接. 内部联接: private static void UseInnnerJoin(){int[] intArray1 ...

  2. Linq 中的 left join

    Linq 中的 left join 表A User: 表B UserType: Linq: from t in UserType join u in User on t.typeId equal u. ...

  3. Linq中的group by多表多字段,Sum求和

    Linq中的group by多表多字段,Sum求和 //Line to Sql 写法var data = (from a in Itemsgroup a by new { a.GroupId, a.I ...

  4. LINQ中的Lambda表达式

    Lambda Expressions in LINQ 在第12章,我提到可以用lambda表达式定义内联的委托定义.在如下表达式中: customer => customer.FirstName ...

  5. sql语句中left join和inner join中的on与where的区别分析

    原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...

  6. java多线程中的join方法详解

    java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...

  7. 用日志记录LINQ中的所有增删改的SQL语句的方法

    我们知道LINQ中的增删改都要调用SubmitChanges方法,我们记录所有SQL的方式就是重写(override)DataContext中的SubmitChanges方法,为了避免每次修改dbml ...

  8. 关于hive中Map join 时大表left join小表的问题

    在hive中,(启用Map join时) 大表left join小表,加载从右向左,所以小表会加载进内存,存储成map键值对,通过大表驱动小表,来进行join,即大表中的join字段作为key 来获取 ...

  9. python threading模块的方法_Python THREADING模块中的JOIN()方法深入理解

    看了oschina上的两个代码,受益匪浅.其中对join()方法不理解,看python官网文档的介绍: join([timeout]):等待直到进程结束.这将阻塞正在调用的线程,直到被调用join() ...

最新文章

  1. DIV+CSS 命名规范
  2. 快速排序(二)最后修改
  3. 如何看懂一个深度学习的项目代码
  4. python怎样给对象赋值_Python对象赋值、浅拷贝和深拷贝
  5. css 中的伪类选择器before 与after
  6. oracle rowed,oracle bitmap索引内部揭密,欢迎补充
  7. java标识符命名_Java标识符命名规则
  8. c语言结构体在内存中的存储,C语言结构体在内存中的存储情况探究------内存对齐...
  9. MTK 驱动(66)---Android recovery UI实现分析
  10. 【QCustomPlot】1.2 - QCustomPlot绘制静态曲线、常用函数的功能说明
  11. vc sleep不占进程_Python 中的进程深入
  12. C#基础5:字符串操作
  13. bios刷写工具_蓝天P750/P751编程器刷BIOS
  14. 最新emoji表情代码大全_如何给微信公众号菜单添加emoji(亲测有效)
  15. html 播放360全景图,讯网360全景展示产品-html5全景图-flash全景展示-360度全景图制作...
  16. 解析:学Java好还是HTML5好?
  17. 【MM小贴士】定义采购申请类型
  18. 539/CA_SI4136/SI4133/SI5351手册解读
  19. android创建layout,Android 创建不同的layout
  20. 某电商网站的数据库设计(2)——商品销售相关数据表的设计

热门文章

  1. 餐厅食堂用餐人数统计小程序系统开发制作功能介绍
  2. winscp上传文件后变0KB
  3. HTML那个函数用于实现平移,巧妙使用 transform 实现环形路径平移动画
  4. 美团餐饮娱乐知识图谱——美团大脑揭秘 1
  5. 11203 RAC(asm)恢复一例
  6. 黑马程序员Java零基础视频教程_下部(P135-P200)
  7. 运用计算机技术和语文教学,信息技术在语文教学中的运用(网友来稿)
  8. 钉钉微信小程序reLaunch和navigateTo,navigateTo的区别
  9. 我的世界服务器指定等级指令,我的世界:服务器如何才能禁用高频红石?别用指令,必须要用它?...
  10. 短信查询银行开户行信息