LINQ to SQL语句(1)之Where
简单形式:
使用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;
关系条件形式:
筛选库存量在订货点水平之下但未断货的产品:
var q =
from p in db.Products
where p.UnitsInStock <= p.ReorderLevel && !p.Discontinued select p;
筛选出UnitPrice 大于10 或已停产的产品:
var q=
from q in db.order
where q.UnitPrice>10|| q.Discontinued
select q;
下面这个例子是调用两次where以筛选出UnitPrice大于10且已停产的产品。
var q = db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
First()形式:
返回集合中的一个元素,其实质就是在SQL语句中加TOP (1)。
示例:选择CustomerID 为“BONAP”的单个客户
Customer cust = db.Customers.First(c => c.CustomerID == "BONAP");
条件:选择运费大于 10.00 的订单:
Order ord = db.Orders.First(o => o.Freight > 10.00M);
LINQ to SQL语句(2)之Select/Distinct
1.简单用法:
这个示例返回仅含客户联系人姓名的序列。
var q = from c in db.Customers select c.ContactName;
2.匿名类型形式:
var q = from c in db.Customers select new {c.ContactName, c.Phone};