不使用app.config添加连接字符串

3

我使用SubSonic创建了一个数据访问层的dll,但是它使用了app.config中的connectionstring。我正在在NinjaTrader中使用它,不想在NinjaTrader的app.config中修改connectionstring。我该如何解决这个问题。

3个回答

3
我相信在这里你最好的选择是使用一个单独的文件存储连接字符串:
在app.config中:
<connectionStrings ConfigSource="myConnStr.config" />

我的配置文件中有以下内容:

<connectionStrings > 
  <add .... />
  <add .... />
</connectionStrings > 

有没有一种方法可以强制Subsonic在XML文件中查找连接字符串信息,或者通过编程硬编码连接字符串。 - junkone

3

我相信你可以使用SetDefaultConnectionString方法在运行时进行设置:

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

请注意...确保将“ConnectionString”替换为您的连接字符串 :) - stoic

3

编程硬编码连接字符串的示例:

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包含数据库文件的名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接