ASP.NET 样板化多个数据库和 DbContexts
ASP.NET Boilerplate multiple databases and DbContexts
我想使用 ASP.NET 样板同时连接到两个数据库。我按照这个例子:https://github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/MultipleDbContextEfCoreDemo
问题是只有第一个上下文才会包含所有 Abp 表。第二个上下文是现有数据库,其中包含 none 个 Abp 表。
当我启动网络应用程序时,我得到这个:
System.Data.SqlClient.SqlException: 'Invalid object name 'AbpLanguages'.'
很明显它在第二个上下文中寻找 Abp* 表,但它们不存在(它们不应该存在)。那么,拥有多个上下文的正确方法是什么,这样它就不会在第二个上下文中查找 Abp* 表?
更新
我通过修改从模板生成的干净 ASP.NET 样板项目创建了一个示例应用程序。
我已经用仅 API 模板生成的项目进行了测试,并且它可以完美运行。但是当 API 和前端在生成项目时结合在一起时,我遇到了这些问题,在其他上下文中查找 Abp* 表。
投递箱:https://www.dropbox.com/s/19gj8ms0jwz500k/4.0.1.zip?dl=0
Github: https://github.com/FrikkinLazer/MultipleContext.git
// using Abp.Zero.EntityFrameworkCore;
public partial class TEST1Context : AbpZeroDbContext<Tenant, Role, User, TEST1Context>
{
// ...
}
Abp.Zero.EntityFrameworkCore
的 AbpZeroDbContext
定义模块零表的 DbSet
。
the second context is an existing database, that have none of the Abp tables on it.
So, what is the correct way to have more than one context, so that it doesnt look for Abp* tables on the second context?
对于第二个上下文,子类 Abp.EntityFrameworkCore
的 AbpDbContext
。
我想使用 ASP.NET 样板同时连接到两个数据库。我按照这个例子:https://github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/MultipleDbContextEfCoreDemo
问题是只有第一个上下文才会包含所有 Abp 表。第二个上下文是现有数据库,其中包含 none 个 Abp 表。
当我启动网络应用程序时,我得到这个:
System.Data.SqlClient.SqlException: 'Invalid object name 'AbpLanguages'.'
很明显它在第二个上下文中寻找 Abp* 表,但它们不存在(它们不应该存在)。那么,拥有多个上下文的正确方法是什么,这样它就不会在第二个上下文中查找 Abp* 表?
更新
我通过修改从模板生成的干净 ASP.NET 样板项目创建了一个示例应用程序。
我已经用仅 API 模板生成的项目进行了测试,并且它可以完美运行。但是当 API 和前端在生成项目时结合在一起时,我遇到了这些问题,在其他上下文中查找 Abp* 表。
投递箱:https://www.dropbox.com/s/19gj8ms0jwz500k/4.0.1.zip?dl=0
Github: https://github.com/FrikkinLazer/MultipleContext.git
// using Abp.Zero.EntityFrameworkCore; public partial class TEST1Context : AbpZeroDbContext<Tenant, Role, User, TEST1Context> { // ... }
Abp.Zero.EntityFrameworkCore
的 AbpZeroDbContext
定义模块零表的 DbSet
。
the second context is an existing database, that have none of the Abp tables on it.
So, what is the correct way to have more than one context, so that it doesnt look for Abp* tables on the second context?
对于第二个上下文,子类 Abp.EntityFrameworkCore
的 AbpDbContext
。