是否可以使用Entity Framework动态更改web.config文件中的连接字符串?

时间:2019-01-04 11:06:27

标签: asp.net entity-framework

我想动态更改连接字符串,但是我不知道如何执行此操作,或者是否可以。

1 个答案:

答案 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。

相关问题