我正在尝试使用ASP.NET Core和EF Core将迁移应用于数据库。但是,appsettings.json
出于安全考虑,该应用将使用的连接字符串中的登录名仅具有CRUD访问权限,因此无法创建表和列等。因此,当我运行时:
dotnet ef database update -c MyDbContextName -e Development
我想告诉它使用其他连接字符串,但是我不知道是否可以这样做?基本上,我想使用两个不同的连接字符串,一个用于部署,一个用于运行应用程序。这可能吗?有没有更好的方法?谢谢。
将两个连接字符串都放在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] 删除。
我来说两句