这里,我把一些常用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()