zoukankan      html  css  js  c++  java
  • 从头开始学LINQ2

             看了一个LINQ TO SQL的例子,感觉比以前的那些框架也好不到哪里去,也是ORM映射,只不过采用的linq的语法,不用SQL语句来实现,也不用通过工具来生成实体类和XML映射文件,采用拖拽的方式实现而已。其中CCSPowerPlatDataContext 是拖拽生成的dbml文件。

    Code

    以下转自YJingLee's Blog

    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);
  • 相关阅读:
    非原创-MongoDB PHP 扩展
    原创-docker命令
    原创-k8s nginx内核参数优化
    原创-阿里云K8S-PVCyaml文件挂载云盘
    原创-k8s反亲和性
    使用Virtualenv隔离Python、Ansible不同发行版
    基于Scrapy分布式爬虫的开发与设计
    CentOS7.3中将Python2.7.5 升级到Python3.5.1
    如何让django的model名和应用名显示为中文
    Django添加ckeditor富文本编辑器
  • 原文地址:https://www.cnblogs.com/millen/p/1389244.html
Copyright © 2011-2022 走看看