Linq连表查询

Linq有单表查询当然就有连表查询,当然学了linq的单表查询我们知道多个单表查询也可以发挥多表查询的功能,但是终究还是麻烦了点,毕竟还是想少写点代码,不用写那么一大段,减少点代码量嘛,所以就有了这次的连表查询,那么就开始linq的连表查询吧。

var listUserType1 首先自定义一个名称 自定义名称前面跟的是数据的类型,当然也可以用var,因为var它可以接收其他的数据类型,不过它一般只用在linq,老师说过其他地方该是什么类型就用什么类型,不然不好判断,所以只在linq里面使用var
在这里插入图片描述

from tbUser in myModel.PW_User 来自于tbUser这个自定义表名里面
,而tbUser又来自于myModel这个模型里面的.PW_User表,in 来自于哪个数据源,而这些表均来自于实例化的myModel这个对象。

在这里插入图片描述

用户表PW_User 连 用户角色明细表PW_UserRoleDetail 连 用户类型表SYS_UserType

它们之所以可以连接是因为用户表的主键以及用户类型表的主键都是用户角色明细表里面的外键

当然很重要的一点就是要连接正确,如果连接错了数据会出不来,平时如果不知道哪张表和哪张表有连接,可以用SQL查看相互的关系,打开SQL然后新建查询 右键编辑器中查询就可以了。
在这里插入图片描述

Join 自定义的表名 inmyModel里面的PW_UserRoleDetail表,要让两张表连接就要用on啦,

on tbUser里面的UserTypeID 关键字equals等于 tbUserType里面的UserTypeID,这样两张表就

连起来了,接下来再连接另外一张表就完成了三个表的连接。

然后就是where 条件,你需要给它判断什么就写在where这里

最后select new 查询
如果有不正确的地方还请大家多多指正

在这里插入图片描述