並且在 Visual Studio裡面,「加入參考」。

大致上,先加入這四個 .Dll檔案

  • Microsoft.Practices.EnterpriseLibrary.Common.dll
  • Microsoft.Practices.ServiceLocation.dll
  • Microsoft.Practices.Unity.dll
  • Microsoft.Practices.Unity.Interception.dll.

 

 

也可以透過 Visual Studio的 NuGet來下載、安裝(更簡單!)

搜尋 Enterprise Library就能找到

以本範例來說,就是DAAB(Data Access Application Block)

 

最好的學習方法,當然是下載官方文件(說明檔)自己閱讀一下 -- Microsoft Enterprise Library 5.0 Documentation

您也可以看見網路版的說明,以下範例源自於此:http://msdn.microsoft.com/en-us/library/ff664485%28v=PandP.50%29.aspx

 

 

以下的資料庫連線字串(ConnectionString),已經事先寫好(設定)在 Web.Config檔案裡面,

名為 testConnectionString
 

1). 第一個範例

      根據原廠文件的指引,下面這樣撰寫會發生錯誤

資料來源的型別無效。它必須是 IListSource、IEnumerable 或 IDataSource。

(請看第14列的程式碼。 以前的 Enterprise Library 3.1 / 4.0 / 4.1可以這樣寫)

01
02 '-- 自己宣告的 NameSpace --
0Imports Microsoft.Practices.EnterpriseLibrary.Data
0Imports Microsoft.Practices.EnterpriseLibrary.Data.Sql '-- SqlDatabase用的到
05
06 Imports System.Web.Configuration
07 Imports System.Data '-- IDataReader用的到
08

09 '-- 自己宣告的 NameSpace --
10
11
12Dim db As SqlDatabase = New SqlDatabase(WebConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
13
14 Using I_dr As IDataReader = db.ExecuteReader(CommandType.Text, "Select top 20 * From test")
15'^^^^^^^^^^^^^^^^^^^^^^^^^發生錯誤^^^^^^^^^^^^
16
17       GridView1.DataSource = I_dr
18    GridView1.DataBind()
19End Using

 

建議把 IDataReader的這一段程式碼改寫如下,就會成功!

I_dr As IDataReader = CType(db.ExecuteReader(CommandType.Text, "Select top 20 * From test"), IDataReader)

 

2010/12/17補充,上面這個範例出現一些錯誤,

修正後的範例,請看:簡單的 Enterprise Library範例 for Data Access Application Block(DAAB)#2,DataReader範例有誤(修正版)

 

2). 另外一個簡單的 DataReader範例:

1Dim db As SqlDatabase = New SqlDatabase(WebConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
2
3 Using I_dr As IDataReader = db.ExecuteReader(CommandType.Text, "Select top 20 * From test")
4
5While I_dr.Read()
6   Response.Write(I_dr.Item("title") & "<br>")
7End While
8
9 End Using

 

 

3). DataSet的寫法如下:

01
02 '-- 自己宣告的 NameSpace --
03Imports Microsoft.Practices.EnterpriseLibrary.Data.Sql
04Imports System.Data
05Imports System.Web.Configuration

06 '-- 自己宣告的 NameSpace --
07
08
09Dim db As SqlDatabase = New SqlDatabase(WebConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
10
11 Using ds As DataSet = db.ExecuteDataSet(CommandType.Text, "Select top 30 * From test")
12    GridView1.DataSource = ds
13    GridView1.DataBind()
14End Using

以上範例源自於此:http://msdn.microsoft.com/en-us/library/ff664485%28v=PandP.50%29.aspx

 

C#範例下載 -- WebSite2.rar

Entlib 5.0下載 -- http://www.microsoft.com/en-us/download/details.aspx?id=15104

 

 

很多範例都可以參考以前寫的 ADO.NET文章 --

[ADO.NET] DataReader的標準範例 for ASP.NET 2.0 / 3.5

初探ADO.NET #1,程式與資料庫互動的四大步驟

初探ADO.NET #2,DataReader 與 DataSet(資料集)

   

Kevin前輩提供兩篇很棒的文章,也請您參考:

 
 

 

 

2010/12/16補充:  EntLib DAAB 這裡有三篇簡體中文的講解(好像是從英文說明翻譯過來的,很詳細!)

      這是第一篇,請依照順序看完。      http://www.cnblogs.com/hsapphire/archive/2010/08/27/1810516.html