【问题标题】:Entity Framework 6 Code First - Relations with a different DataBaseEntity Framework 6 Code First - 与不同数据库的关系
【发布时间】:2019-02-14 10:23:26
【问题描述】:

我需要开发一个管理商店的程序。我现在有 5 家不同的商店,未来数量还会增加。我计划为每个商店创建一个数据库(使用 SQL Server),再创建一个包含共享信息的数据库。像这样的:

每个数据库都具有完全相同的结构(大约有 20 个表),并且与共享数据库具有多重关系。我知道如何在 ADO.Net 中安排这样的事情,但我想先尝试使用实体框架代码。我现在在 EF 中处于相当基础的水平,但我认为这是提高我在这个主题上的知识的好机会。我尝试了一种可能的解决方案,创建多个 DbContext,每个 DbContext 指向不同的数据库。一切都很完美,但我不知道如何管理与共享数据库的关系。我已经阅读了很多关于这个主题的内容,在我看来,从 EF 版本 6 开始就可以使用不同的 DB。这是我正在使用的版本。是否可以使用“标准”EF 语法来实现这一点?我是否必须“手动”管理与共享数据库的所有关系?

【问题讨论】:

    标签: sql-server ef-code-first relational-database


    【解决方案1】:

    由于没有人回答我的问题,我将解释我做了什么。经过许多其他研究,我没有找到太多关于在 EF 中操作多个数据库的正确方法。但我得到了我需要的东西,也许有人会发现这种有用的东西。首先,我们需要在这里面对事实:使用多个数据库对 EF 不利,即使对 EF 6 也是如此。在我看来,使用 ado.net 进行连接管理可以获得最干净的解决方案。通过这种方式,您可以获取加入记录的 ID 并在其他查询中使用它。你可以写一个函数,只传递你需要的信息和数据库的引用,实现起来并不难。 无论如何,经过许多其他考虑,我认为最好重新考虑只使用一个数据库。

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2019-02-12
      相关资源
      最近更新 更多