如何使用相同的数据库创建单独的 ASP.Net 核心应用程序

How to a separate ASP.Net Core Application using same Database

我有一个现有的 ASP.Net 核心 Web API,现在我想将管理模块创建为一个单独的 ASP.Net 核心应用程序,但共享同一个数据库。

我现在的问题是如何在新解决方案中处理我的 DBContext,尤其是因为以下行包含 ApplicationUser 模型

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>

以及存在于现有解决方案中的其他模型 类,我需要从中创建我的 DBSet 实体集以使我能够查询数据库。

我希望管理模块成为一个完全独立的应用程序,托管在不同的 domain/server 但可以访问同一数据库,以便管理员可以管理数据库 table 来自管理员解决方案。

我不希望它成为同一解决方案的独立项目。相反,我希望它是一个完全独立的 solution/application,可以独立托管。

如果 ASP.Net Core 可以实现这一目标,我将不胜感激。

我正在使用 ASP.Net Core 5 和 Entity Framework Core,但如果提供解决方案,我可以迁移到版本 6。

您需要创建一个模型作为单独的(第三个)项目,构建该模型项目的 nuget 并将其包含在两个项目中。有一些小挑战,因为您要 运行 迁移这个独立项目 - 但没有什么是无法克服的

它非常简单(并且可能因为 ASP.NET Core 1)。

单个数据库可以有多个上下文。例如,如果您的数据库包含多个数据库模式并且您希望将它们中的每一个作为单独的自包含区域来处理,这可能很有用。

阅读下面的link

https://www.tutorialspoint.com/entity_framework/entity_framework_multiple_dbcontext.htm