我想动态更改连接字符串,但是我不知道如何执行此操作,或者是否可以。
答案 0 :(得分:1)
您不必从web.config加载连接字符串。在DbContext上实现一个接受连接字符串的构造函数,您可以提供所需的任何内容。
在EF Core中,它看起来像这样:
public class MyDatabase : DbContext
{
readonly string connectionString;
public MyDatabase(string connectionString)
{
this.connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(connectionString);
base.OnConfiguring(optionsBuilder);
}
}
在EF6中是这样的:
public class MyDatabase : DbContext
{
public MyDatabase(string connectionString) : base(connectionString)
{
}
}
请注意,如果您动态更改连接字符串,则不会多次初始化DbContext。