0

我正在研究一个已经由我之前的几个开发人员启动的项目。特别困扰我的一件事是他们在两个数据库中拆分了单个实体。

实体称为跟踪器。

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

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

此外,更复杂的是,当您访问 ConfigBase 中的特定跟踪器时,您将获得 SQL 服务器名称和凭据,以便您在 StoreBase 中访问它。

现在,如果您使用普通的旧 ADO.NET,这一切都不会太复杂。但由于我的任务是将整个解决方案升级到最新的 EF 4.3.1,我在保持实体的一致性方面遇到了麻烦。与 Tracker 实体相关的一半在 ConfigBase 中,另一半在 StoreBase 中,通常我必须同时获得两者才能获得一些结果。

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

提前致谢!

4

1 回答 1

1

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

于 2012-04-25T20:30:05.407 回答