Entity framework core EntityFramework更新数据库多个数据库上下文添加表不创建数据库
我有两个独立的数据库上下文,希望每个数据库上下文都有一个数据库。 当我执行entityfirst迁移时,为什么不创建单独的数据库? 相反,其中一个数据库上下文正在另一个上下文中创建一个表,即使我显式地指定了-context参数 appsetting.jsonEntity framework core EntityFramework更新数据库多个数据库上下文添加表不创建数据库,entity-framework-core,Entity Framework Core,我有两个独立的数据库上下文,希望每个数据库上下文都有一个数据库。 当我执行entityfirst迁移时,为什么不创建单独的数据库? 相反,其中一个数据库上下文正在另一个上下文中创建一个表,即使我显式地指定了-context参数 appsetting.json "ConnectionStrings": { "BuildAppDb": "Server=DESKTOP-BJR3FMP\\SQLEXPRESS;Database=EasyBuilderAp
"ConnectionStrings": {
"BuildAppDb": "Server=DESKTOP-BJR3FMP\\SQLEXPRESS;Database=EasyBuilderApp;Trusted_Connection=True;",
"LicenseKeyDb": "Server=DESKTOP-BJR3FMP\\SQLEXPRESS;Database=EstiframeSoftwareLicenser;Trusted_Connection=True;"
},
上下文
public partial class BuildAppDbContext : DbContext
{
public BuildAppDbContext(DbContextOptions<BuildAppDbContext> options)
: base(options)
{
}
public DbSet<PartCompletion> PartCompletions { get; set; }
}
public class LicenseKeyDbContext : DbContext
{
public LicenseKeyDbContext(DbContextOptions<LicenseKeyDbContext> options)
: base(options)
{
}
public DbSet<LicenseReg> RegLicenses { get; set; }
}
结果??为什么
当它应该为EstiframeSoftwareLicenser数据库添加整个数据库时,它正在向EasyBuilderApp数据库添加一个表
我解决了我的问题 我必须在这里使用一个单独的字符串变量: .AddDbContext方法稍后执行,而不是在那个确切的时刻执行,因此使用相同的变量存储连接字符串不起作用
//DATABASE CONNECTIONS
string connectionString = _configuration.GetConnectionString("LicenseKeyDb");
services.AddDbContext<LicenseKeyDbContext>(options => options.UseSqlServer(connectionString));
connectionString = _configuration.GetConnectionString("BuildAppDb");
services.AddDbContext<BuildAppDbContext>(options => options.UseSqlServer(connectionString));
add-migration -context BuildAppDbContext
update-database -context BuildAppDbContext
add-migration -context LicenseKeyDbContext
update-database -context LicenseKeyDbContext