zoukankan      html  css  js  c++  java
  • 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)...即可

  • 相关阅读:
    设计模式之原型模式
    Mac OSx下的APK反编译
    Android中ListView封装收缩与展开
    带密码登录的密码保险箱应用源码
    HTML 5缓存机制:Cache Manifest配置实例
    PHP开发大型项目的一点经验
    Windows Phone 编程: 摇一摇 效果
    swift皮筋弹动发射飞机
    Win8.1应用开发之适配器模式(C#实现)
    java实现身份证校验
  • 原文地址:https://www.cnblogs.com/chsword/p/ef_esql4.html
Copyright © 2011-2022 走看看