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

Entity SQL就是Ado.netEntity 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)...即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值