EF核心数据库更新的命令行连接字符串

NP3

我正在尝试使用ASP.NET Core和EF Core将迁移应用于数据库。但是,appsettings.json出于安全考虑,该应用将使用的连接字符串中的登录名仅具有CRUD访问权限,因此无法创建表和列等。因此,当我运行时:

dotnet ef database update -c MyDbContextName -e Development

我想告诉它使用其他连接字符串,但是我不知道是否可以这样做?基本上,我想使用两个不同的连接字符串,一个用于部署,一个用于运行应用程序。这可能吗?有没有更好的方法?谢谢。

伊利亚·丘马科夫(Ilya Chumakov)

将两个连接字符串都放在appsettings.json从主类继承一个子上下文类,并OnConfiguring用另一个连接字符串覆盖

public class ScaffoldContext : MyDbContextName 
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        string scaffoldConnStr = ConfigurationManager.ConnectionStrings["scaffoldConnStr"].ConnectionString;

        optionsBuilder.UseSqlServer(scaffoldConnStr);
    }
}

然后使用:

dotnet ef database update -c ScaffoldContext 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章