"宝刀屠龙,号令天下,莫敢不从,倚天不出,谁与争锋"……eSqlBlast之于Entity Framework尤如刀剑之于侠客。好的兵器,就像李寻欢的飞刀,能够在使用者熟练掌握的情况下,发挥事半功倍的效果。
eSqlBlast是目前针对于EF做得比较好的查询工具,类似于MS-SQL SERVER的查询分析器,提供了简单的Intellisense功能,可以通过eSQL(Entity SQL)对EDM进行查询,输出查询结果。除此以外,它还能够直接查看当前的实体集情况、通过eSQL生成的SQL语句等。eSqlBlast的使用非常方便。本文通过使用eSqlBlast来实现一些查询实例,来熟悉一下如何使用eSqlBlast。
一、要完成本文中的实例,您需要作如下准备: 1. 将Visual Studio 2008及.NET Framework 3.5升级到SP1。
点击转到升级地址。
2. 安装SQL SERVER 2005,VS 2008中自带的EXPRESS版的SQL SERVER应该也可以用。
3. 下载并附加数据库:附件:
DemodbV2.zip 。
4. 完成数据库到实体的映射。具体做法,请参考《
ADO.NET Entity Framework 试水——掠影》一文。
5. 下载eSqlBlast:
点击转向CodePlex。
二、编译eSqlBlast项目 打开Microsoft.Samples.Data.eSqlBlast.sln,Ctrl+Shift+B,编译即可获得 Microsoft.Samples.Data.eSqlBlast.WinShell.exe。不多废话了。
三、设置EDM输出格式 在进行eSqlBlast的连接配置的时候,需要用到csdl、ssdl和msl三个文件。这三个文件由.EDM文件生成,但在VS2008SP1 中,默认设置不输出这三个文件。因此,我们需要将EDM文件的"Metadata Artifact Processing"属性设置为"Copy to Output Directory"。见下图。
附件:
090908_1404_ADONETEntit1.png 图1
这样,重新编译以后,在项目输出文件夹中,就会出现三个对应概念模型的文件。放着,以备后用。
四、进行查询 1. 配置连接运行Microsoft.Samples.Data.eSqlBlast.WinShell.exe,出现如下界面:
附件:
090908_1404_ADONETEntit2.png 图2
在这里,我们需要配置两处。第一处是连接字符串,这个,可以从app.configConnectionString元素里复制出来。注意,只要复制"provider connection string="后面的部分。并且要去掉那两个"""。Metadata部分,我们可以点击Add Files,然后把刚才生成的那三个文件一次性添加进来;当然,如果偷下懒,也可以通过Add Folder直接指向有那三个文件的文件夹,效果基本一样。
配置完成以后,便可以点击大大的"Connect"来完成连接了。正确连接以后,底部的状态栏即变成显示绿色的"Connected"字样。
附件:
090908_1404_ADONETEntit3.png 图3