• Entity SQL Language 四 OrderBy/部分查询结果


    Entity SQL就是Ado.net Entity Framework的一种查询语言,它简单灵活,不被语言版本所限制。

    Order By操作

    基本的OrderBy操作如下:

    string entitySQL = "SELECT VALUE c FROM Customers AS c ORDER BY c.ContactName";
    var query = db.CreateQuery<Customers>(entitySQL);

    如果想要倒序排列的话与SQL一样,加上DESC就可以了

    string entitySQL = "SELECT VALUE c FROM Customers AS c ORDER BY c.ContactName desc";
    var query = db.CreateQuery<Customers>(entitySQL);

    多条排序规则:

    string entitySQL = "SELECT VALUE c FROM Customers AS c ORDER BY c.CompanyName ASC, c.ContactTitle DESC";
    ObjectQuery<Customers> query = db.CreateQuery<Customers>(entitySQL);

    返回部分查询结果

    如果你要查询的数据仅是一两个字段,按以前所有的写法,将所有的字段都Select了,数据库抽了,服务器也抽了。

    所以我们经常会只返回一部分结果,在Linq中我们可以通过select new {}一个新的对象来实现,在Entity SQL中我们可以通过以下方法来实现

    using System.Data.Common;
    //....若干行
    string entitySQL = "SELECT VALUE row(c.Phone,c.Country) FROM Customers as c";
    ObjectQuery<DbDataRecord> query = db.CreateQuery<DbDataRecord>(entitySQL);
    query.First()["phone"];//使用方法

    暂时还没有找到相关文档提出如何像使用正常类一样的使用这种部分查询结果

    但是知道了如何去查询多个表的组合

    在EDM中添加一个新类,不继承,而是添加属性利用组合来添加新类,比如添加了A和B两个实体为属性,而这个新建的类又叫Two

    在写EntitySQL时select 命名空间.Two(a,b)...即可

  • 相关阅读:
    leetcode 第二题Add Two Numbers java
    二叉树中的那些常见的面试题(转)
    运行的指令
    Python常见经典 python中if __name__ == '__main__': 的解析
    软件测试基本概念
    JAVA Android王牌教程
    17个新手常见Python运行时错误
    QTP
    链表有关的常见面试题
    Robot Framework and Ride
  • 原文地址:https://www.cnblogs.com/chsword/p/ef_esql4.html
Copyright © 2020-2023  润新知