LINQ to SQL语句之Where

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ to SQL语句之Where相关的知识,希望对你有一定的参考价值。

  • 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);

 

以上是关于LINQ to SQL语句之Where的主要内容,如果未能解决你的问题,请参考以下文章

将包含 where、group by、sum 和必须的 MySQL 语句转换为 Linq to Sql

LINQ to SQL语句(10)之Insert

LINQ to SQL语句(11)之Update

LINQ to SQL语句之Join

LINQ to SQL语句(12)之Delete和使用Attach

LINQ to SQL语句之Group By/Having