Enterprise Library – Data Access Application Block - Part 1
  Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns  & practices 小组为.NET Framework 3.5  开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access  Application Block)、异常管理(Exception Handling Application  Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。
 
相关下载信息:
  本文根据EntLib v4.1 的学习手册(Hands on Lab),演示数据访问模块的应用:
 1. 下载EntLib v4.1 的 Hands on Lab (http://www.codeplex.com/entlib  ) ,并进行安装。
 打开安装目录下的\Enterprise Library 4.1 HOL\CS\Data  Access\exercises\ex01\begin 的SimpleData.sln 项目文件,就可以开始下面的工作了。
 在开始之前,还需要创建范例程序中访问的EntLibQuickStarts 数据库。
 创建数据库、表、及其存储过程的脚本文件:Enterprise Library 4.1 HOL\CS\Data  Access\setup\ DataAccessQuickStarts.sql。在SQL SERVER 2005/2008  中打开,执行一下就可以了。
 2. 引用EntLib 中需要的DLL 文件,在安装的目录下 C:\Program Files\Microsoft  Enterprise Library 4.1 - October 2008\Bin。这里,引用如下DLL 文件:
 Microsoft.Practices.EnterpriseLibrary.Common.dll
 Microsoft.Practices.EnterpriseLibrary.Data.dll
 打开项目中 MainForm.cs 代码文件,添加应用的namespace的引用:
 using Microsoft.Practices.EnterpriseLibrary.Data;
 3. 添加代码:
 第一段代码是返回有多少条Customers记录。
         private void  mnuCount_Click(object sender, System.EventArgs e)
         {
             Database db = null;
             db = DatabaseFactory.CreateDatabase("QuickStarts Instance");
             int count = (int)db.ExecuteScalar(CommandType.Text, "SELECT Count(*) From Customers");
             string message = string.Format("There are {0} customers in the  database", count.ToString());
             MessageBox.Show(message);
         }
 第二段代码是返回所有的Customers记录,并显示DataGrid中。
         private void  mnuLoad_Click(object sender, System.EventArgs e)
         {
             Database db = null;
             db = DatabaseFactory.CreateDatabase();
             DataSet ds = db.ExecuteDataSet(CommandType.Text, "SELECT * From Customers");
              dataGrid1.DataSource = ds.Tables[0];
         }
 
到目前为止,还不能运行上述的代码,因为app.config 配置文件还没有创建,还不存在数据库连接。
 4. 创建app.config 配置文件,通过EntLib  附带的编辑器进行编辑,自动生成相应的配置文件,如下图所示,该编辑器与Visual Studio 2008 进行了集成。
 
如下图所示,通过编辑器,创建新的Connection String。
  
 
并设置Connection String 具体信息。
  
 
这里需要注意的几个地方是:
 (1)选择Connection String节点,更改Name 属性为 QuickStarts  Instance,就是上面代码中创建Database时传入的参数值。
 (2)选择Data Access Application Block 节点,设置DefaultDatabase  属性为QuickStarts  Instance。在上面的第二段代码中,创建Database对象时没有传入参数,就是这里定义的DefaultDatabase参数。
 保存上述配置信息,查看一下自动生成的配置文件:
 <?xmlversion="1.0"encoding="utf-8"?>
 <configuration>
  <configSections>
     <sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,  Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0,  Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </configSections>
  <dataConfigurationdefaultDatabase="QuickStarts Instance" />
  <connectionStrings>
     <addname="QuickStarts Instance"connectionString="Data Source=YOURCOMPUTERNAME;Initial  Catalog=EntLibQuickStarts;Integrated Security=True"
       providerName="System.Data.SqlClient" />
  </connectionStrings>
 </configuration>
 5. 现在就可以运行范例程序了,看看运行情况。
 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号