实体拆分为两个数据库

时间:2012-04-25 18:42:45

标签: entity-framework-4

我正在研究一个已由几位开发人员开始的项目。特别困扰我的一件事是,他们将单个实体拆分为两个数据库。

实体称为追踪器。

第一个数据库名为ConfigBase,它有一个名为Trackers的表,它具有TrackerId及其属性。

第二个数据库名为StoreBase,它还有一个名为Trackers的表,其元素与第一个数据库中的TrackerId相匹配。

此外,为了让事情变得更复杂,当您访问ConfigBase中的特定跟踪器时,您将获得允许您在StoreBase中访问它的SQL服务器名称和凭据。

如果使用普通的旧ADO.NET,现在所有这些都不是太复杂。但是,由于我的任务是将整个解决方案提升到最新的EF 4.3.1,因此我在维护实体的一致性方面遇到了麻烦。与Tracker实体相关的一半内容在ConfigBase中,另一半在StoreBase中,通常我必须得到两者才能得到一些结果。

是否有任何解决方案不涉及数据库级别的虚拟合并。我正在寻找可以通过Code First建模完成的解决方案。

提前致谢!

1 个答案:

答案 0 :(得分:1)

没有开箱即用的解决方案,因为EF本身甚至无法在每个上下文中使用多个数据库。因此,您将合并数据库,或者您将分别访问每个数据库(每个数据库使用单独的Tracker实体),并以某种方式在您的应用程序中合并数据。