实体框架6代码优先 - 与不同数据库的关系

问题描述 投票:0回答:1

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

enter image description here

每个数据库都具有完全相同的结构(大约有20个表),并且与共享数据库具有多种关系。我知道如何在ADO.Net中安排这样的事情,但我想尝试使用Entity Framework Code First。我现在处于EF的基础层面,但我认为这是一个很好的机会来提高我对这个主题的了解。我尝试了一种可能的解决方案,创建多个DbContext,每个DbContext指向不同的DataBase。一切都很完美,但我无法弄清楚如何管理与共享数据库的关系。我已经阅读了很多关于这个主题的内容,在我看来,从EF的第6版开始,可以使用不同的DB。这是我正在使用的版本。是否可以使用“标准”EF语法实现此目的?我是否“手动”管理共享数据库的所有关系?

sql-server ef-code-first relational-database
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.