2009-06-30 86 views
0

我目前面臨着亞音速配置的問題。亞音速在視覺工作室設計主機

我想實現的是在System.Web.UI.Design.ControlDesigner類中使用亞音速數據訪問。

該類託管在Visual Studio環境中,並對附加的System.Web.UI.WebControls.Control啓用設計時操作。

唯一的問題是SubSonic似乎總是在應用程序配置中尋找SubSonicSection,無論將連接字符串傳遞給它。

相關的代碼片斷:

using (SharedDbConnectionScope dbScope = new SharedDbConnectionScope(new SqlDataProvider(), ConnectionString)) 
{ 
Table1 _table1 = new Select().From<..().Where(...).IsEqualTo(...).ExecuteSingle<...>(); 

拋出上ExecuteSingle))的異常(方法(未找到配置部分)

using (SharedDbConnectionScope dbScope = new SharedDbConnectionScope(ConnectionString)) 
{ 

拋出新SharedDbConnectionScope異常((配置部分未找到)

S Ø問題是:
有沒有辦法通過設置運行時繞過配置部分查找,因爲我不希望添加任何亞音速具體的配置devenv.configuration

感謝

回答

0

我不t認爲你可以在2.x中做到這一點,而無需自定義模板(當SubSonic的新版本發佈時,這顯然會給支持問題)。

對不起,不知道3.0

0

使用亞音速運行時提供配置的方法:

(示例):

private void SetSubsonicProviderManually(string ConnectionString) 
{ 
//clear the providers and reset 
DataService.Provider = new SqlDataProvider(); 
DataService.Providers = new DataProviderCollection(); 

//instance a section - we'll set this manually for the DataService 
SubSonicSection section = new SubSonicSection(); 
section.DefaultProvider = __SubsonicProviderName__; 

//set the properties 
DataProvider provider = DataService.Provider; 
NameValueCollection config = new NameValueCollection(); 

//need to add this for now 
config.Add("connectionStringName", __ConnectionString__); 

//initialize the provider 
provider.Initialize(__SubsonicProviderName__, config); 

provider.DefaultConnectionString = ConnectionString; 

DataService.Providers.Add(provider); 

}