是否可以在运行时更改数据库类型?如果是的话,怎么做?我正在使用EntityFramework 6。
关于这个问题的背景: 我有一个最初没有数据库访问权限的应用程序。用户首先必须经历“安装”过程并提供有关数据库的信息(包括数据库类型,例如MySql或MsSql)。
如果可能,我想避免使用2个上下文。如有必要,我可以提供更多细节。
答案 0 :(得分:0)
您可以使用以下内容在运行时指定连接字符串...
DbContext
有一个构造函数,可以使用连接字符串的名称或连接字符串本身重载。
public partial class EntityName: DbContext {
public EntityName(): base("name=EntityName") {}
public EntityName(string connectionString): base(connectionString) {}
}
var connString = "PopulateConnString";
Using (var ctx = new EntityName(EntityConnectionStringBuilder)
{
// Do stuff
}