我将我的网和EF项目从5个升级到8个,并立即处理移民管理问题(我使用包裹管理员康索尔)。
此前,我有以下DbContext类:
public class PortalDbContext : DbContext {
private readonly IConfiguration _config;
public PortalDbContext(
DbContextOptions<PortalDbContext> options,
IConfiguration config) : base(options) {
_config = config;
}
protected override void OnModelCreating(ModelBuilder modelBuilder) {
//... assorted entity defs
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
if(!optionsBuilder.IsConfigured) {
optionsBuilder.UseSqlServer(_config.GetConnectionString("PortalDBConnection"));
}
}
}
在升级到8个之后,我不得不增加一个没有参数的构造,使欧洲复兴开发银行能够管理移民(补充、更新等),否则它将造成无法解决服务错误。
public PortalDbContext() {}
但是,由于这是使用定制构造者与混凝土参数的灯塔,因此,我可以在“OnConfiguring”电话中使用“GetConnection String”。
我通过直接通过“使用SqlServer”电话接通的连接而来。
if(!optionsBuilder.IsConfigured) {
optionsBuilder.UseSqlServer("server=xxxxx, etc.");
}
But I really want to be able to have the config string defined solely in the appsettings.json file as I regularly swap to different databases for dev and testing.
在管理移民时,是否有办法使欧洲自由贸易联盟能够利用这种结构?
请注意,我正在将“Console”计划管理人用作国家扫盲委员会,并将“DbContext”项目设定为默认项目。
Also, I have the following in startup but that doesn t get used when managing migrations in the PMC console:
services.AddDbContext<PortalDbContext>(options =>
options.UseSqlServer(_config.GetConnectionString("PortalDBConnection")));