Farseer.net轻量级开源框架 入门篇:Where条件的终极使用
导航
这里,我把一些常用Where用到的条件都写在这里,方便大家学习
1 // 这是最常用的 属性判断 2 Users.Data.Where(o => o.ID == 1) 3 Users.Data.Where(o => o.ID > 1) 4 Users.Data.Where(o => o.ID < 1) 5 Users.Data.Where(o => o.ID >= 1)
1 // 批量包含数据元素:1, 2, 3, 4, 5 类似SQL 的 in 操作 2 var lst = new List<int> { 1, 2, 3, 4, 5 }; 3 Users.Data.Where(o => lst.Contains(o.ID))
1 // 返回单个字段的集合 2 List<int> lst = Users.Data.ToSelectList(o => o.ID.GetValueOrDefault());
1 // 模糊搜索 类似 SQL的 like %...% 2 Users.Data.Where(o => o.UserName.Contains(keywords));
1 // 当然也支持多条件 2 Users.Data.Where(o => o.ID >= 1 && ( o.UserName == "张三" || o.RoleID == 1) )
1 // 模糊搜索 + 高级搜索 2var keywords = ""; 3var bean = Users.Data; // 也可以是: var bean = User.Data.Select(o => new { o.UserName, o.PassWord }) 4 bean.Where(o => o.ID > 1); 5if (keywords.IsHaving()) { bean.Where(o => o.UserName.Contains(keywords)); } // 当Keywords有值时,进行模糊搜索 6// 可以加入 或者 的操作 7 bean.WhereOr(o => o.RoleID == 2); 8var lst = bean.ToList();
1 // 类似于: like '张% 以 张开头 2 Users.Data.Where(o => o.UserName.StartsWith("张"));
// 类似于: like '%三 以 三结尾 Users.Data.Where(o => o.UserName.EndsWith("三"));
1 // 忽略大小写 Oracle中查询时默认区别大小写的 2 Users.Data.Where(o => o.UserName.IsEquals("张三"));
1 // 查询用户名的长度大于2位 2 Users.Data.Where(o => o.UserName.Length > 2);
1 // 查询 时间区别: 2014-11-06 到 2014-11-06 的数据 2 DateTime dt = new DateTime(2014,11,6); 3 Users.Data.Where(o => o.CreateAt >= dt && o.CreateAt < dt.AddDays(1));
1 // 位运算 2 Users.Data.Where(x => (x.SchoolAdmissionsType & schoolAdmissionsType) == schoolAdmissionsType);}
导航
广告时间
QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。
Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
1 new User { ID = 1, Name = "张三" }.Insert()