当前位置: 代码迷 >> SQL >> LINQ to SQL话语之Where
  详细解决方案

LINQ to SQL话语之Where

热度:92   发布时间:2016-05-05 11:58:22.0
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);

  相关解决方案