asp.net - 如何首先使用代码使用共享数据库
问题描述
我想创建一个像 WordPress 这样的系统。我将在系统中有很多单独的项目(它们可以是 NuGet 包或源代码)。这个项目应该有自己的表也有一些常用的表(比如用户表)。我尝试先使用实体框架代码,但未能成功(公用表导致冲突)。.net core 中此类项目的最佳实践(设计策略)是什么?
我将举例说明:我有 2 个项目。其中一个可以说是 A。一个项目有一个像 => 这样的 Dbcontext ADbContext : IdentityDbContext
。它正在使用 IdentityDbContext。这意味着我将拥有aspnetuser表。它也有不同的表(公司、汽车等),所有这些表首先由实体框架代码生成。我有几个移民历史。
我的另一个项目也使用 IdentityDbContext => FunnyNamesDbContext : IdentityDbContext
。它将通过结合汽车和名称来创建名称(我知道很傻,但只是举例)。
这个FunnyNameProject 需要一个名为“ fun_generatedNames
”的表,它负责创建这个表。如果没有 car 表或 user 表(或者如果它们不存在,可以创建其他策略),它就无法工作。此外,您还应该通过 FunnyNamesDbContext 访问用户表(generatedName.User.Email
)
当我将 funnynames 项目添加到我的 A 项目时,我会收到一些关于用户表已经存在的冲突错误。
如果还是不能很好的解释。您可以这样想,我想构建他们负责自己的表的项目,例如 aspnetuser 系统或 WordPress 插件。
解决方案
推荐阅读
- python - 有一个数据框,但需要在 python 中制作一个条形图
- shopware - 如何在 Shopware 6 中加载所有服务等级不同的产品?
- java - 在 WebSphere 上将应用程序升级到 Spring 5 时出错:提供程序 org.springframework.web.SpringServletContainerInitializer 不是子类型
- c# - 在 C# 中使用 RSA/ECB/OAEPWithMD5AndMGF1Padding 加密文本
- oracle - 从 BLOB 转换为 CLOB(替换 URL 字符串)然后使用 Oracle APEX 转换回 BLOB 后无法读取/打开 Word 文档
- sql - 如何索引状态历史表
- c# - 将不同的视图模型与其他视图模型一起传递以显示页面
- python - Selenium“没有这样的元素错误”但找到了元素
- xml - talend 将行转换为列
- laravel - Laravel 7 - 为什么我不能在不同的路由组中使用相同的路由?