2010-07-08 112 views
3

我創建了一個使用亞音速的數據訪問層dll。但是它使用app.config中的連接字符串。 我在ninjatrader中使用它,並不想與連接字符串的ninjatrader app.config混亂。我如何避免這個問題。添加連接字符串,而不使用app.config

回答

3

我相信你能指望這裏最好是使用的連接字符串一個單獨的文件:

中的app.config

<connectionStrings ConfigSource="myConnStr.config" /> 
在myConnStr.config

<connectionStrings > 
    <add .... /> 
    <add .... /> 
</connectionStrings > 
+0

是否有一種方法可以強制subsonic在xml文件中查找連接字符串信息或以編程方式對連接字符串進行硬編碼。 – junkone 2010-07-08 20:33:33

3

我相信你可以在運行時使用SetDefaultConnectionString方法來設置它:

SubSonic.DataService.GetInstance("InstanceName").SetDefaultConnectionString("ConnectionString"); 
+0

請注意......請務必用連接字符串替換「ConnectionString」:) – 2010-07-16 09:03:18

3

示例如何編程硬編碼的ConnectionString:

string connectionString = string.Format(@"Data Source={0}", Path.Combine(this.ConfigFolder, ConfigDb)); 
string providerName = @"System.Data.SQLite"; 
var provider = ProviderFactory.GetProvider(connectionString, providerName); 
_configRepo = new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations); 

它位於this.ConfigFolder此示例使用SQLite數據庫。 ConfigDB包含數據庫文件的名稱。

相關問題