2010-12-16 21 views
4

它看起來是從微軟企業庫 老提供SQLHelper類已經包含在新的企業庫的數據庫版本類大多已經更換5.替代Microsoft數據訪問ApplicationBlocks過時提供SQLHelper類

我有一個非常簡單的和簡單的例子:

using Microsoft.ApplicationBlocks.Data; 

private void PopulateCheckBoxGroup() 
{ 
    const string strConnTxt = "Server=(local);Database=DataBindTests;Integrated Security=True;"; 
    const string strlSql = "select Technology from PreferredTechnology where ParentId = 1"; 
    CheckBoxList1.DataSource = SqlHelper.ExecuteReader(strConnTxt, CommandType.Text, strlSql); 
    CheckBoxList1.DataTextField = "Technology"; 
    CheckBoxList1.DataBind(); 

} 

你能給我只是一個提示,以便使用更換提供SQLHelper新的數據庫抽象類做的一樣嗎? 我已經瀏覽了Enterprise Library 5「Hands On Labs」,並沒有提及它。

在此先感謝。

回答

3

這幾乎是一樣的,只是在其建設不同,例如:

var database = new SqlDatabase("<connection>"); 
using (var reader = database.ExecuteReader(...)) 
{ 

} 
+0

非常感謝你。我已經標記了你的答案。 – Erica 2010-12-16 20:51:35

+0

@Erica:與使用'SqlHelper'類相比,直接使用'SqlDatabase'沒有什麼優勢。 'Database'類用作數據庫服務器的抽象,以便能夠以簡單的方式簡單地替換數據層。但是,如果使用直接查詢而不是存儲過程與數據庫進行通信,則無法交換數據層,因爲每個數據庫都有自己的方言。 – Steven 2010-12-22 07:12:18