Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework core EntityFramework更新数据库多个数据库上下文添加表不创建数据库_Entity Framework Core - Fatal编程技术网

Entity framework core EntityFramework更新数据库多个数据库上下文添加表不创建数据库

Entity framework core EntityFramework更新数据库多个数据库上下文添加表不创建数据库,entity-framework-core,Entity Framework Core,我有两个独立的数据库上下文,希望每个数据库上下文都有一个数据库。 当我执行entityfirst迁移时,为什么不创建单独的数据库? 相反,其中一个数据库上下文正在另一个上下文中创建一个表,即使我显式地指定了-context参数 appsetting.json "ConnectionStrings": { "BuildAppDb": "Server=DESKTOP-BJR3FMP\\SQLEXPRESS;Database=EasyBuilderAp

我有两个独立的数据库上下文,希望每个数据库上下文都有一个数据库。 当我执行entityfirst迁移时,为什么不创建单独的数据库? 相反,其中一个数据库上下文正在另一个上下文中创建一个表,即使我显式地指定了-context参数

appsetting.json

"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