ASP.NET Boilerplate 多个数据库和 DbContexts

Ber*_*Zyl 4 c# dbcontext entity-framework-core asp.net-core aspnetboilerplate

我想使用 ASP.NET Boilerplate 一次连接到两个数据库。我按照这个例子:https : //github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/MultipleDbContextEfCoreDemo

问题是只有第一个上下文才会有所有的 Abp 表。第二个上下文是现有数据库,其中没有任何 Abp 表。

当我启动 Web 应用程序时,我得到以下信息:

System.Data.SqlClient.SqlException: 'Invalid object name 'AbpLanguages'.'
Run Code Online (Sandbox Code Playgroud)

很明显,它正在第二个上下文中寻找 Abp* 表,但它们不存在(而且它们不应该存在)。那么,拥有多个上下文的正确方法是什么,这样它就不会在第二个上下文中查找 Abp* 表?

更新

我通过修改从模板生成的干净的 ASP.NET Boilerplate 项目创建了一个示例应用程序。

我已经使用模板生成的项目进行了测试,该项目仅适用于 API,并且可以完美运行。但是当 API 和前端在生成项目时结合使用时,我会遇到这些问题,在其他上下文中查找 Abp* 表。

Dropbox:https
: //www.dropbox.com/s/19gj8ms0jwz500k/4.0.1.zip ? dl =0 Github:https : //github.com/FrikkinLazer/MultipleContext.git

aar*_*ron 6

// using Abp.Zero.EntityFrameworkCore;

public partial class TEST1Context : AbpZeroDbContext<Tenant, Role, User, TEST1Context>
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

Abp.Zero.EntityFrameworkCore'sAbpZeroDbContext定义了DbSet模块零表的s。

第二个上下文是一个现有的数据库,上面没有任何 Abp 表。

那么,拥有多个上下文的正确方法是什么,这样它就不会在第二个上下文中查找 Abp* 表?

对于第二个上下文,子类Abp.EntityFrameworkCoreAbpDbContext.