一、查询
文档目录
开始使用 初始化查询实例:
LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient();
基本查询
查询全部
var list = DB.QueryTable<EntityModel.System_UserInfo>().ToList();
Find主键查找,暂时只支持Guid为主键标识
var obj = DB.QueryTable<EntityModel.System_UserInfo>().Find(Guid.Parse("9c1d1247-cd2c-424d-be14-ef8abae655a4"));
In查询
var item = new string[] { "15842709668", "18609877687", "15804279711", "13998756128", "13019965033" }.ToList(); var list = DB.QueryTable<EntityModel.System_UserInfo>(ex => item.Contains(ex.LoginName)).ToList();
Not In 查询
var item = new string[] { "15842709668", "18609877687", "15804279711", "13998756128", "13019965033" }.ToList(); var list = DB.QueryTable<EntityModel.System_UserInfo>(ex => item.NotContains(ex.LoginName)).ToList();
Like 查询
var list = DB.QueryTable<EntityModel.System_UserInfo>().Where(ex => ex.LoginName.Contains("15")).ToList();//(LoginName like '%15%') var list3 = DB.QueryTable<EntityModel.System_UserInfo>().Where(ex => ex.LoginName.NotContains("15")).ToList();//(LoginName not like '%15%') var list1 = DB.QueryTable<EntityModel.System_UserInfo>().Where(ex => ex.LoginName.StartsWith("15")).ToList();//(LoginName like '15%') var list2 = DB.QueryTable<EntityModel.System_UserInfo>().Where(ex => ex.LoginName.EndsWith("15")).ToList();//(LoginName like '%15')
排序
var list = DB.QueryTable<EntityModel.System_UserInfo>().OrderBy(ex => ex.CreateTime).OrderByDescending(ex => ex.LoginName).ToList();
分组
var list = DB.QueryTable<EntityModel.System_UserInfo>().GroupBy(ex => new { ex.LoginName, ex.UserName }).ToList();
只取特定字段
var list = DB.QueryTable<EntityModel.System_UserInfo>().Select(ex => new { ex.LoginName, ex.UserName }).ToList();
top
var list = DB.QueryTable<EntityModel.System_UserInfo>().Take(10);
第几页
var list = DB.QueryTable<EntityModel.System_UserInfo>().Skip(2);
取第一条数据
var list = DB.QueryTable<EntityModel.System_UserInfo>().First(); var list1 = DB.QueryTable<EntityModel.System_UserInfo>().FirstOrDefault();
分页 2005,2008使用row_number分页,2012以上使用offset分页形式
int total = 0; var list = DB.QueryTable<EntityModel.System_UserInfo>().ToPageList(3, 15, ref total);
函数处理:
求和
var num = DB.QueryTable<EntityModel.System_UserInfo>().Sum(ex => ex.LogOnCount);
最小值
var num = DB.QueryTable<EntityModel.System_UserInfo>().Min(ex => ex.LogOnCount);
最大值
var num = DB.QueryTable<EntityModel.System_UserInfo>().Max(ex => ex.LogOnCount);
平均值
var num = DB.QueryTable<EntityModel.System_UserInfo>().Avg(ex => ex.LogOnCount);
总数
var num = DB.QueryTable<EntityModel.System_UserInfo>().Count();
其它