Where 操作
适用场景: 实现过滤, 查询等功能.
说明: 与 SQL 命令中的 Where 作用相似, 都是起到范围限定也就是过滤作用的 , 而判断条件就是它后面所接的子句.
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).
简单用法: 选择表中的第一个发货方.
Shipper shipper = db.Shippers.First();
元素: 选择 CustomerID 为 "BONAP" 的单个客户
Customer cust = db.Customers.First(c => c.CustomerID == "BONAP");
条件: 选择运费大于 10.00 的订单:
Order ord = db.Orders.First(o => o.Freight> 10.00M);
来源: http://www.bubuko.com/infodetail-2560769.html