现在我们看到了这个查询的ADO.NET EF,和直接用查询视图设计的查询产生了相ADO.NET EF同的效果。其实ADO.NET EF所有的数据库操作都是由SQL语言构成的,微软公司只是在其上增加了更加方便的操作向导ADO.NET EF和可视化设计罢了。
当我们直接用设计视图建立一个ADO.NET EF同样的查询以后,将视图切换到SQL视图,你会惊奇的发现,在这个视图中的SQL编辑器中有同样的语句。看来是ACCESS自动生成的语句。 原来ACCESS也是先生成SQL语句,然后用这些语句再去操作数据库。
现在我们再讲讲SELECT语句中后几种子句的用途吧。你发现这些子句都被方括号适起来了,这是表明这些子句在SELECT语句中都是可选项目,其中WHERE 子句是一个行选择说明子句,用这个语句可以对我们所选的行,就是表中的记录进行限制,当WHERE 后面的行选择说明为真的时候才将这些行作为查询的行,而且在WHERE中还可以有多种约束条件,这些条件可以通过“AND”这样的逻辑运算符联接起来。#t#
Astoria是微软公司开发的,互联网上数据服务的基础架构。ADO.NET EF基于REST架构,帮助开发人员仅通过标准的HTTP协议,如GET,POST,PUT或者DELETE就能访问数据。Astoria构建在ADO.NET Entity Framework之上,使用使用标准的数据格式如XML,JSON或者RDF进行数据传输。现在CTP已经提供下载,在使用Astoria之前需要安装ADO.NET Entity Framework和相关Tools。
安装好ADO.NET EF,Tools和Astoria CTP后就能使用了,首先打开VS 2008 beta2,建立Web Application工程,然后利用ADO.NET EF向导映射数据库中的表Customers和Orders(关于怎样映射,在我的文章ADO.NET Entity Framework 学习(1)中有提到)#t#
可以看到这里返回的是XML格式的数据,用RIA能够轻松的展示出来。在NorthwindEntities里面有两项,Customers和Orders,各自包括名为href的attribute,这里面的值就是访问路径。如果我们想访问所有的Customers,在url后面加上/Customers,便能看到结果
也可以增加条件查询,如/Customers[City eq London],便能获得所有城市为London的Customer 如果要查询某一个Customer的Orders,在url后加上/Customers[ALFKI]/Orders,便能获得ALFKI用户的所有Orders了:
Astoria是一个很有用的框架,能够让开发人员很简单的进行数据访ADO.NET EF问编程。如果想要深入了解,可以参考帮助文档和示例程序,安装后会有。