List(LINQ)查询语句
-
注:本博客为新入门程序员所写,勿喷。
-
定义:List类表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索、排序和操作的方法
想要使用List来查询一条数据,首先得有一个类,如下:
namespace Emperor_System.VO
{
public class UserVo
{
public decimal? AccountTotal { get; internal set; }
public decimal? DuepaySum { get; internal set; }
public decimal? DueSum { get; internal set; }
public decimal? FreezeSum { get; internal set; }
public int ReceptionUserID { get; internal set; }
public string ReceptionUserMC { get; internal set; }
public decimal? UsableSum { get; internal set; }
}
}
若没有,新增一个:
点击右键→添加→类→写上所需要的名称→添加
写上如代码的类名,格式须和数据库格式相同
之后,便使用如下SQL查询语句进行数据的查询:
List<UserVo> listStu = (from tbReceUserInfo in myModels.SYS_ReceUserInfo
join tbReceptionUser in myModels.PW_ReceptionUser on tbReceUserInfo.ReceptionUserID equals tbReceptionUser.ReceptionUserID
join tbUserAccount in myModels.SYS_UserAccount on tbReceUserInfo.ReceUserInfoID equals tbUserAccount.ReceUserInfoID
select new UserVo
{
ReceptionUserID = tbReceptionUser.ReceptionUserID,//用户ID
ReceptionUserMC = tbReceptionUser.ReceptionUserMC,//用户名称
AccountTotal = tbUserAccount.AccountTotal,//账号总额
UsableSum = tbUserAccount.UsableSum,//可用金额
FreezeSum = tbUserAccount.FreezeSum,//冻结金额
DueSum = tbReceUserInfo.DueSum,//待收金额
DuepaySum = tbReceUserInfo.DuepaySum,//带还金额
}).ToList();
如上所示:
也可使用如下格式:
List 泛型集合
List<UserVo> listItem = listStu
.Skip(bsgridPage.GetStartIndex())
.Take(bsgridPage.pageSize)
.ToList();
Bsgrid<UserVo> bsgrid = new Bsgrid<UserVo>()
{
success = true,
totalRows = totalCount,
curPage = bsgridPage.curPage,
data = listItem
};
记住:List泛型需要添加.First() / FirstOrDefault() / ToList等LINQ查询操作符;
几种最常用的简单的LINQ查询操作符如下:
1.ToList - 将集合转换为List集合;不延迟
2.First - 返回集合中的第一个元素;不延迟
3.FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
如上便是LINO简单的理解了