Entity framework 实体框架核心-同一数据库中的2个上下文-未创建第二个上下文表

Entity framework 实体框架核心-同一数据库中的2个上下文-未创建第二个上下文表,entity-framework,entity-framework-core,Entity Framework,Entity Framework Core,我试图在同一数据库上使用两个上下文。 要创建数据库,我正在使用DbContext.database.EnsureCreated() 第一个EnsureCreated调用工作正常,第二个EnsureCreated调用不工作 一些注意事项 分析SQL Server我可以看到EF Core检查表的存在 IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.TABLES

我试图在同一数据库上使用两个上下文。
要创建数据库,我正在使用
DbContext.database.EnsureCreated()

第一个
EnsureCreated
调用工作正常,第二个
EnsureCreated
调用不工作

一些注意事项

分析SQL Server我可以看到EF Core检查表的存在

IF EXISTS (
        SELECT 
            * 
        FROM 
            INFORMATION_SCHEMA.TABLES 
        WHERE 
            TABLE_TYPE = 'BASE TABLE') 

    SELECT 1 
ELSE 
    SELECT 0
然后运行CREATETABLE语句。
如果数据库中有用户表,则不会执行任何操作


有没有一种方法可以强制从实体脚手架创建表?

实际上我只找到了这种方法

RelationalDatabaseCreator databaseCreator = 
    (RelationalDatabaseCreator) context.Database.GetService<IDatabaseCreator>();
databaseCreator.CreateTables();
RelationalDatabaseCreator databaseCreator=
(RelationalDatabaseCreator)context.Database.GetService();
databaseCreator.CreateTables();

在我的例子中,这是因为我无法运行
添加迁移SecondContext\u Initial-Context SecondContext
,所以没有要运行的迁移。
EnsureCreated()
(返回false)和
Migrate()
(未执行任何操作)都未能为我的疏忽提供任何线索。

InMemoryDatabaseCreator呢?