学习Linq时,经常会遇到Linq Where操作问题,这里将介绍Linq Where操作问题的解决方法。
Linq Where操作
适用场景:实现过滤,查询等功能。
说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。
Linq Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:
1.简单形式:
例如:使用where筛选在伦敦的客户
- var q =
- from c in db.Customers
- where c.City == "London"
- select c;
再如:筛选1994 年或之后雇用的雇员:
- var q =
- from e in db.Employees
- where e.HireDate >= new DateTime(1994, 1, 1)
- select e;
2.关系条件形式:
筛选库存量在订货点水平之下但未断货的产品:
- var q =
- from p in db.Products
- where p.UnitsInStock <= p.ReorderLevel && !p.Discontinued
- select p;
筛选出UnitPrice 大于10 或已停产的产品:
- var q =
- from p in db.Products
- where p.UnitPrice > 10m || p.Discontinued
- select p;
下面这个例子是调用两次where以筛选出UnitPrice大于10且已停产的产品。
- var q =
- db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
3.First()形式:
返回集合中的一个元素,其实质就是在SQL语句中加TOP (1)。以上介绍Linq Where操作
【编辑推荐】