where操作
适用场景:实现过滤,查询等功能。
说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。
Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:
例如:使用where筛选在广州的客户
var q =from c in db.Customers
where c.City == "GZ"
select c;
再如:筛选1995 年或之后雇用的雇员:
var q =
from e in db.Employees
where e.HireDate >= new DateTime(1995, 5, 20)
select e;
1 筛选库存量在订货点水平之下但未断货的产品:
2
3
4
5 var q =
6
7 from p in db.Products
8
9 where p.UnitsInStock <= p.ReorderLevel && !p.Discontinued
10
11 select p;
12
13
14
15 筛选出UnitPrice 大于10 或已停产的产品:
16
17
18
19 var q =
20
21 from p in db.Products
22
23 where p.UnitPrice > 10m || p.Discontinued
24
25 select p;
26
27
28
29 下面这个例子是调用两次where以筛选出UnitPrice大于10且已停产的产品。
30
31
32
33 var q =db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
返回集合中的一个元素,其实质就是在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);
这是我所学到的一些知识,在此分享给大家,希望可以帮助到你们。
以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!