查询

本文深入讲解了LINQ查询的基本语法和使用方法,包括单表查询、多表查询以及如何使用匿名对象进行数据筛选。通过实例演示了如何在C#中构建有效的LINQ查询语句,适用于.NET开发人员学习和参考。

查询结构
(from 自定义的表名 in Model对象.查询的表
where 自定义的表名.字段1 关系运算符 值 [&& 自定义的表名.字段2 关系运算符 值]
orderby 自定义的表名.字段
1 select 自定义的表名
2.1 select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,

}
2.2 select new {自定义的表名.字段1,
自定义的表名.字段2,
自定义的表名.字段3,

}
).Single();//查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();//查询多条数据并转为List
.Count();//查询有多少条数据(总条数)

linq 查询的写法
PW_User dbUser = (from tbUser in myModel.PW_User
where tbUser.UserNuber == strUserNuber && tbUser.ToVoidNo == true
select tbUser).Single();

(把PW_User换成var)可以用var来接收数据类型,这里的var是匿名数据类型,c#的数据类型都可以放在里面,在编译时c#会把它翻译成应有的数据类型,不过只允许在linq时使用,在平时不使用,虽然用var接收数据没有错,但是不利于代码的阅读 查看,所以除linq外,该是是什么数据类型的就写什么数据类型。
单表查询可以直接用要查询的表对象作为类型来接收数据,因为要查询myModel.PW_User所以可以用PW_User类型来接收,实际对象是tbUser,dbUser是自定义来接收数据的
form是从tbUser查询,tbUser是自定义的表名,tbUser的数据是来自于myModel里面的PW_User
where查询的条件是tbUser的用户账号(UserNuber)等于用户账号(strUserNuber),同时满足&&后面的tbUser的账号是否有效(ToVoidNo),有效为true
select查询tbUser,Single查询一条数据
使用Single用 try{
}
catch (Exception e){
}
捕获异常,e是异常参数

查询结构2.1
//适合多表,单表都可以
PW_User dbUser = (from tbUser in myModel.PW_User
where tbUser.UserNuber == strUserNuber && tbUser.ToVoidNo == true
select new PW_User{
UserID = tbUser.UserID,
UserNuber = tbUser.UserNuber,
Password = tbUser.Password
}).Single();
new PW_User一个类,里面包含了上面PW_User的全部数据,在下面可以一个一个的赋值
PW_User里面的UserID(属性1)赋值为(=)tbUser(自定义的表名)的字段UserID(字段1)

查询结构2.2
//适合多表,只需要查询数据,不需要具体对象
var dbUser = (from tbUser in myModel.PW_User
where tbUser.UserNuber == strUserNuber && tbUser.ToVoidNo == true
select new{
tbUser.UserID,
tbUser.UserNuber,
tbUser.Password
}).Single();
直接new出了一个匿名对象,new{}里面写了什么dbUser里面就是什么
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值