Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF 6代码首先合并数据库以避免重复的表(一个数据库多个DbContext)_C#_Entity Framework_Ef Code First_Entity Framework 6_Entity Framework Migrations - Fatal编程技术网

C# EF 6代码首先合并数据库以避免重复的表(一个数据库多个DbContext)

C# EF 6代码首先合并数据库以避免重复的表(一个数据库多个DbContext),c#,entity-framework,ef-code-first,entity-framework-6,entity-framework-migrations,C#,Entity Framework,Ef Code First,Entity Framework 6,Entity Framework Migrations,我正在开发几个应用程序,它们首先使用EF6代码访问SQL Server数据库。 每个应用程序都有自己的数据库和DbContext。 某些应用程序具有相同的实体(例如用户和组)。目前,这些表是重复的(例如,每个数据库都有自己的用户表。) 我考虑将所有数据库“合并”到一个大数据库中,该数据库只包含一个用户或组表。各个应用程序仍将具有其当前的DbContext(因此它们只能访问所需的表) 问题: 你认为这是个好主意,还是你会做些别的 我使用代码优先迁移来生成和更新数据库。 我是否需要一个包含所有表的

我正在开发几个应用程序,它们首先使用EF6代码访问SQL Server数据库。 每个应用程序都有自己的数据库和DbContext。 某些应用程序具有相同的实体(例如用户和组)。目前,这些表是重复的(例如,每个数据库都有自己的用户表。) 我考虑将所有数据库“合并”到一个大数据库中,该数据库只包含一个用户或组表。各个应用程序仍将具有其当前的DbContext(因此它们只能访问所需的表)

问题:

  • 你认为这是个好主意,还是你会做些别的
  • 我使用代码优先迁移来生成和更新数据库。 我是否需要一个包含所有表的DbContext,以便能够使用迁移并仅使用此DbContext创建/更新新数据库,还是有更好的方法
很难说。取决于每个应用程序的预期维护/更改数据库要求/重复数据量(相同的用户/组/其他?)。应用程序之间的依赖关系通常比冗余数据更难维护。数据将相同或几乎相同。“共享”表(如用户和组)预计不会更改。其他表格预计将在未来发生变化。我考虑合并数据库的原因是:-应用程序安装在客户的服务器上,他们不喜欢我使用5而不是1个数据库。(即使数据库用于5种不同的产品)-我的客户或我需要为每个应用程序输入、编写脚本、生成或任何相同的数据。