开发工具与关键技术: Linq入门
作者:梁文杰
撰写时间:2019年4月7日

三种写法

第一种写法一般用于单表查询,写法上也比较简单,写法如下????

查询的表对象 局部变量 = (from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select 自定义的表名】).Single();或.ToList();或.Count();(这后面的三个其意思和区别在后面再说)

然后接着说,这【】里的内容按自己当前所需要来选用,例子如下????
Linq入门

这就是自定义的表tbUser从查询的表PW_User中的单表查询

接着就是第二种写法,一般用于多表查询,但是也可以用于单表查询,不过相信没有哪个人愿意用更多代码实现同一效果,他的写法就是在后面new一个类名,然后在写出所需要查询的各个字段,写法如下????

查询的表对象 局部变量 = (from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select new 类名
{
类的属性1 = 自定义的表名.字段1,
类的属性2 = 自定义的表名.字段2,

}】).Single();或.ToList();或.Count();
和上面单表查询一样,【】里的内容按自己当前所需要来选用,例子如下????
Linq入门

这就是自定义的表tbUser从查询的表PW_User中的多表查询

还有最后一种和第二种差不多都是多表查询,但是他是不需要new一个类名/声明,定义class在查询哪些数据,而是直接new出一个匿名对象就查询需要的数据,说白了就是只要数据,不管对象的关系,写法如下????

var 局部变量 = (from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select new
{
自定义的表名.字段1,
自定义的表名.字段2,
自定义的表名.字段3,

}】.Single();或.ToList();或.Count();

【】里的内容按自己当前所需要来选用,例子如下????
Linq入门

最后再说一下Single,ToList,Count的区别:
.Single();查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();查询多条数据并转为List
.Count();查询有多少条数据

相关文章: