LINQ to SQL语句之Where
最近在学习LINQ to SQL,以下是我参考网上的一些资料和自己写的Linq语句,希望对和我一样刚接触LINQ to SQL的朋友有所帮助
1.简单形式
例子:
使用where筛选检测表中激活码为1的用户
query = _qc.Checking_Info.Where(a => a.Is_Active.Equals("1"));
使用where筛选在北京的客户
var q =
from c in db.Customers
where c.City == "BeiJing"select c;
筛选2000年或之后雇用的雇员
var q = from e in db.Employees wheree.HireDate >=new DateTime(2000, 1, 1) selecte;
2.关系条件形式:
筛选库存量在订货点水平之下但未断货的产品:
var q = from p in db.Products wherep.UnitsInStock <= p.ReorderLevel && !p.Discontinued select p;
筛选出UnitPrice 大于10 或已停产的产品:
var q = from p in db.Products wherep.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);