我有一个使用代码优先模式的多租户,Entity Framework 6,ASP.NET网站。
当前已将该站点设置为使用SQL Server,并且在运行时从机密存储中加载了连接字符串。我们正在迁移它以使用Postgres,但是在一段时间里我们需要支持两个数据库。我添加了EntityFramework6.Npgsql
矿块包。
我尝试如下设置连接字符串,但这给我一个错误。如何在运行时正确设置提供程序?
我的代码如下:
var builder = new EntityConnectionStringBuilder
{
ProviderConnectionString =
config.UsePostgreSql ?
config.PostgreSqlConnectionstring :
config.SqlServerConnectionString,
Provider =
config.UsePostgreSql ?
"Npgsql" :
"System.Data.SqlClient"
};
return
new MyDbContext(builder.ConnectionString);
我得到的错误是:
不支持关键字:“提供商”。