我使用SubSonic创建了一个数据访问层的dll,但是它使用了app.config中的connectionstring。我正在在NinjaTrader中使用它,不想在NinjaTrader的app.config中修改connectionstring。我该如何解决这个问题。
我使用SubSonic创建了一个数据访问层的dll,但是它使用了app.config中的connectionstring。我正在在NinjaTrader中使用它,不想在NinjaTrader的app.config中修改connectionstring。我该如何解决这个问题。
<connectionStrings ConfigSource="myConnStr.config" />
我的配置文件中有以下内容:
<connectionStrings >
<add .... />
<add .... />
</connectionStrings >
我相信你可以使用SetDefaultConnectionString方法在运行时进行设置:
SubSonic.DataService.GetInstance("InstanceName").SetDefaultConnectionString("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包含数据库文件的名称。