ASP.NET Boilerplate多个数据库和DbContexts
我想使用ASP.NET Boilerplate一次连接到两个数据库。 我按照这个例子: https : //github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/MultipleDbContextEfCoreDemo
问题是只有第一个上下文会包含所有的Abp表。 第二个上下文是现有数据库,其上没有任何Abp表。
当我启动网络应用程序时,我得到了这个:
System.Data.SqlClient.SqlException: 'Invalid object name 'AbpLanguages'.'
显然它正在寻找第二个上下文中的Abp *表,但它们不存在(并且它们不应该存在)。 那么,拥有多个上下文的正确方法是什么,以便它不会在第二个上下文中查找Abp *表?
更新
我通过修改从模板生成的干净的ASP.NET Boilerplate项目创建了一个示例应用程序。
我已经使用从API模板生成的项目进行了测试,该项目仅使用API,并且在那里完美运行。 但是当在生成项目时组合API和前端时,我遇到了在其他上下文中查找Abp *表的问题。
Dropbox: 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
{ // ... }
Abp.Zero.EntityFrameworkCore
的AbpZeroDbContext
定义了模块零表的DbSet
。
第二个上下文是现有数据库,其上没有任何Abp表。
那么,拥有多个上下文的正确方法是什么,以便它不会在第二个上下文中查找Abp *表?
对于第二个上下文,子类是Abp.EntityFrameworkCore
的AbpDbContext
。
- 使用asp-for作为参数的自定义ViewComponent
- 如何在ASP.NET Core Web Api中完成版本控制
- 通过RequestCultureProviders处理路径(URL)中的文化
- Http错误的自定义错误页面404.13 ASP.NET Core MVC
- 如何从控制台应用程序中的config.json读取值
- 在渲染局部视图时如何调用控制器操作?
- 如何在ASP.NET Core中将403 Forbidden响应作为IActionResult返回
- ASP.NET MVC 6中MVC Controller和Web API Controller有什么区别?
- IEnumerable 在未引用的程序集中定义 – 新的NuGet类库项目