Entity Framework 6 Code First - 与不同数据库的关系
Entity Framework 6 Code First - Relations with a different DataBase
我需要开发一个管理商店的程序。我现在有5家不同的店铺,以后还会增加。我计划为每个商店创建一个数据库(使用 SQL 服务器),并再创建一个包含共享信息的数据库。像这样:
每个数据库都具有完全相同的结构(大约有 20 个表)并且与共享数据库有多种关系。我知道如何在 ADO.Net 中安排类似的内容,但我想尝试使用 Entity Framework Code First。我现在在 EF 中处于相当基础的水平,但我认为这是提高我在这个主题上的知识的好机会。我尝试了一种可能的解决方案,创建多个 DbContext,每个 DbContext 都指向不同的数据库。一切正常,但我不知道如何管理与共享数据库的关系。我已经阅读了很多关于这个主题的文章,在我看来,自 EF 版本 6 以来,使用不同的数据库是可能的。这是我正在使用的版本。是否可以使用“标准”EF 语法实现此目的?我必须“手动”管理与共享数据库的所有关系吗?
由于没有人回答我的问题,我将解释我所做的事情。经过许多其他研究,我没有找到太多关于在 EF 中操作多个数据库的正确方法。但是我得到了我需要的东西,也许有人会发现这种有用的东西。首先,我们需要面对这里的事实:使用多个数据库对 EF 不利,即使对 EF 6 也是如此。在我看来,使用 ado.net 进行连接管理可以获得最干净的解决方案。通过这种方式,您可以获得加入记录的 ID 并将其用于其他查询。你可以写一个函数,只传递你需要的信息和数据库的引用,实现起来并不难。
无论如何,经过许多其他考虑,我认为最好重新考虑只使用一个数据库。
我需要开发一个管理商店的程序。我现在有5家不同的店铺,以后还会增加。我计划为每个商店创建一个数据库(使用 SQL 服务器),并再创建一个包含共享信息的数据库。像这样:
每个数据库都具有完全相同的结构(大约有 20 个表)并且与共享数据库有多种关系。我知道如何在 ADO.Net 中安排类似的内容,但我想尝试使用 Entity Framework Code First。我现在在 EF 中处于相当基础的水平,但我认为这是提高我在这个主题上的知识的好机会。我尝试了一种可能的解决方案,创建多个 DbContext,每个 DbContext 都指向不同的数据库。一切正常,但我不知道如何管理与共享数据库的关系。我已经阅读了很多关于这个主题的文章,在我看来,自 EF 版本 6 以来,使用不同的数据库是可能的。这是我正在使用的版本。是否可以使用“标准”EF 语法实现此目的?我必须“手动”管理与共享数据库的所有关系吗?
由于没有人回答我的问题,我将解释我所做的事情。经过许多其他研究,我没有找到太多关于在 EF 中操作多个数据库的正确方法。但是我得到了我需要的东西,也许有人会发现这种有用的东西。首先,我们需要面对这里的事实:使用多个数据库对 EF 不利,即使对 EF 6 也是如此。在我看来,使用 ado.net 进行连接管理可以获得最干净的解决方案。通过这种方式,您可以获得加入记录的 ID 并将其用于其他查询。你可以写一个函数,只传递你需要的信息和数据库的引用,实现起来并不难。 无论如何,经过许多其他考虑,我认为最好重新考虑只使用一个数据库。