现在就开始正式的对Entity SQL的全面学习,我将按SQL的学习过程的套路来对Entity SQL进行学习。
Entity SQL的执行方法
ObjectQuery<返回类型> query = db.CreateQuery<返回类型>(entitySQL语句);
这样就执行了所书写的Entity SQL。并返回一个ObjectQuery,它有点近似于IQueryable。
操作符
在任何语言中,操作符都是很重要的概念,Entity SQL支持如下操作符。
优先级 | 作用与类型 | 符号 |
1 | 层级 | .,()[] |
2 | 非 | ! not |
3 | 乘除 | * / % |
4 | 加减 | +- |
5 | 比较 | < > <= >= |
6 | 相等 |
= != <> |
7 | 与 |
and && |
8 | 或 | or || |
select、where的基本语法
where 做为查询最简单的语法它的实现方法如下:select value c from cs as c where e
举一个例子,这也是我们见到的第一个真正的Entity SQL
string entitySQL = "SELECT VALUE c FROM Customers AS c WHERE c.City = 'Seattle';"; ObjectQuery<Customer> query = db.CreateQuery<Customer>(entitySQL);
注意这里
- select value的value不能省去
- 语句不区分大小写
- 后面的";"可以不存在。
- 上篇说到的,如果Entity SQL是select value Customers FROM Customers WHERE Customers.City = 'Seattle'也是合法的
语句与执行结果示例:
Top子句
Top的使用如下所示
select value top(1) c FROM Customers AS c WHERE c.City = 'Seattle'