Farseer.net轻量级开源框架 入门篇:查询数据详解
导航
查询列表的几种方式
1 // 字段值ID指定为1 2 Users.Data.Where(o => o.ID == 1).ToList();
1 // 查询前10条数据 2 Users.Data.ToList(10);
1 // 批量查询 2 var lst = new List<int> { 1, 2, 3, 4, 5 }; 3 Users.Data.ToList(lst);
1 // 查询第2页,每页显示20条(分页) 2 Users.Data.ToList(20, 2);
1 // 查询第5页,每页显示10条(分页) 2 int recordCount; // 记录总数 3 Users.Data.ToList(out recordCount, 10, 5);
1 // 减少数据库压力,只显示UserName、PassWord字段 2 Users.Data.Select(o => new { o.UserName, o.PassWord }).ToList();
1 // 模糊搜索 + 高级搜索 2 var keywords = ""; 3 var bean = Users.Data; // 也可以是: var bean = User.Data.Select(o => new { o.UserName, o.PassWord }) 4 bean.Where(o => o.ID > 1); 5 if (keywords.IsHaving()) { bean.Where(o => o.UserName.Contains(keywords)); } // 当Keywords有值时,进行模糊搜索 6 // 可以加入 或者 的操作 7 bean.WhereOr(o => o.RoleID == 2); 8 var lst = bean.ToList();
1 // 如果你嫌ToList 慢(反射到实体,也可以只返回DataTable 2 Users.Data.ToTable();
1 // 批量查询,按ID降序 2 Users.Data.Desc(o => o.ID).ToList(); 3 4 // 批量查询,按ID、UserName 升序 5 Users.Data.Asc(o => new { o.ID,o.UserName }).ToList();
1 // 返回随机记录 2 Users.Data.ToListByRand();
1 // 这里返回的结果不是实体了,是标识ID列表。 2 // 比如可能返回的是:1,2,3,4 3 Users.Data.ToSelectList();
查询单条记录的几种方式
1 // 查找ID == 1 的单条记录 2 Users.Data.ToInfo(1);
1 // ID 为 1 的下一条数据(通常是下一篇文章的概念) 2 Users.Data.ToNextInfo(1);
1 // ID 为 2 的上一条数据(通常是上一篇文章的概念) 2 Users.Data.ToPreviousInfo(2);
查询单值、聚集的几种方式
1 // 返回记录总数 2 Users.Data.Where(o => o.ID > 6).Count();
1 // 返回最大的ID 2 Users.Data.GetMax(o => o.ID);
1 // 返回ID最小的数 2 Users.Data.GetMin(o => o.ID);
1 // 返回ID的累加数 2 Users.Data.GetSum(o => o.ID);
1 // 返回用户名(这里是字符串类型了) 2 Users.Data.GetValue(o => o.UserName);
1 // 判断值是否存在 2 Users.Data.Where(o => o.ID == 1).IsHaving();
导航
广告时间
QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。
Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
1 new User { ID = 1, Name = "张三" }.Insert()