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),演示數據訪問模塊的應用:
打開安裝目錄下的/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. 現在就可以運行範例程序了,看看運行情況。
歡迎繼續訪問後續的內容。