ASP.NET Boilerplate多个数据库和DbContexts

4
我想使用ASP.NET Boilerplate同时连接两个数据库。我参考了这个示例: https://github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/MultipleDbContextEfCoreDemo 问题是只有第一个上下文会有所有的Abp表格。第二个上下文是一个现有的数据库,它没有任何Abp表格。
当我启动Web应用程序时,我得到了这个:
System.Data.SqlClient.SqlException: 'Invalid object name 'AbpLanguages'.'

显然,它在第二个上下文中寻找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

第二个上下文可以在 TwoContexts.EntityFrameworkCore -> EntityFrameworkCore -> SecondContext 中找到。我也将其添加到了 Github 上。 - Bertus van Zyl
没有“SecondDbContext”。 - aaron
它位于 /src/TwoContexts.EntityFrameworkCore/EntityFrameworkCore/SecondContext/Models/ 下,名称为 TEST1Context。 - Bertus van Zyl
1个回答

6
// using Abp.Zero.EntityFrameworkCore;

public partial class TEST1Context : AbpZeroDbContext<Tenant, Role, User, TEST1Context>
{
    // ...
}
Abp.Zero.EntityFrameworkCoreAbpZeroDbContext定义了Module Zero表的DbSet

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

那么,有多个上下文的正确方法是什么,以便在第二个上下文中不查找Abp*表?

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接