2009-06-30 4 views
0

Ich habe derzeit ein Problem in Bezug auf Subsonic-Konfiguration.Unterschall in Visual Studio Design Host

Was ich erreichen möchte, ist die Verwendung von subsonic Datenzugriff in einer System.Web.UI.Design.ControlDesigner-Klasse.

Diese Klasse wird in der Visual Studio-Umgebung gehostet und ermöglicht Entwurfszeitoperationen für das angefügte System.Web.UI.WebControls.Control.

Das einzige Problem ist, dass SubSonic immer nach SubSonicSection in der Anwendungskonfiguration sucht, obwohl die Verbindungszeichenfolge übergeben wird.

Das relevante Codefragment:

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

throws Exception auf ExecuteSingle() Methode (Konfigurationsabschnitt wurde nicht gefunden)

während

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

throws Exception auf neue SharedDbConnectionScope() (Konfigurationsabschnitt wurde nicht gefunden)

S o ist die Frage:
Gibt es eine Möglichkeit, die Einstellungen der Laufzeit übergeben Sie den Konfigurationsabschnitt Nachschlag zu umgehen, wie ich jede Unterschall spezifische Konfiguration hinzufügen möchten nicht devenv.configuration

Dank

Antwort

0

I don‘ Ich denke, Sie können dies in 2.x tun, ohne die Vorlagen anzupassen (was natürlich zu Problemen führen kann, wenn eine neuere Version von SubSonic veröffentlicht wird).

Sorry, nicht wissen, etwa 3,0

0

Ich nehme an, Sie SubSonic 2.x verwenden, basierend auf Ihrer Abfragesyntax. Sehen Sie sich die folgenden zwei Forenbeiträge an, die Sie in die richtige Richtung weisen sollten. Was Sie versuchen, ist möglich, tatsächlich macht SubCommander genau das, lädt die Quelle herunter und schaut sich die Methode SetProviderManually() an.

http://forums.subsonicproject.com/forums/t/1617.aspx

http://forums.subsonicproject.com/forums/t/1502.aspx

+0

, die die Lösung wurde dank – csizo

0

Verfahren Subsonic Laufzeit Provider-Konfiguration zu verwenden:

(Beispiel):

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); 

}