Entity framework 4 在两个数据库中拆分实体

Entity framework 4 在两个数据库中拆分实体,entity-framework-4,Entity Framework 4,我正在做一个项目,在我之前已经有几个开发人员启动了这个项目。有一件事特别困扰我,那就是它们将单个实体拆分为两个数据库 该实体称为跟踪器 第一个数据库称为ConfigBase,它有一个名为Trackers的表,该表包含TrackerId及其属性 第二个数据库称为StoreBase,它还有一个名为Trackers的表,其元素具有与第一个数据库中相同的TrackerId 此外,更为复杂的是,当您在ConfigBase中访问特定的跟踪程序时,您将获得SQL server名称和凭据,允许您在StoreBa

我正在做一个项目,在我之前已经有几个开发人员启动了这个项目。有一件事特别困扰我,那就是它们将单个实体拆分为两个数据库

该实体称为跟踪器

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

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

此外,更为复杂的是,当您在ConfigBase中访问特定的跟踪程序时,您将获得SQL server名称和凭据,允许您在StoreBase中访问它

现在,如果使用普通的旧ADO.NET,所有这些都不会太复杂。但由于我的任务是将整个解决方案提升到最新的EF 4.3.1,所以我很难保持实体的一致性。与Tracker实体相关的内容有一半在ConfigBase中,另一半在StoreBase中,通常我必须同时获得这两种内容才能得到一些结果

是否有任何解决方案不涉及数据库级别的虚拟合并。我正在寻找一种可以通过代码优先建模来实现的解决方案


提前谢谢

不,没有现成的解决方案,因为EF本身甚至不能在每个上下文中使用多个数据库。因此,您要么合并数据库,要么单独访问每个数据库(每个数据库有单独的跟踪实体),然后在应用程序中以某种方式合并数据。

对不起,这种架构对我来说毫无意义。我想不出在两个表之间拆分单个实体的理由,更不用说两个数据库了。我会极力推动合并数据库,否则你将不得不编写一个完整的层来处理查询和合并数据库之间的实体。为这项工作选择合适的锤子,我认为对于这个遗留应用程序,EF可能是次优的。。。如果您使用的是现有数据库,即使是先编写代码通常也是一个坏主意。体系结构是在我让项目继续之前构建的,所以我没有太多选择:)基本上您只是确认了我自己已经得出的结论,所以谢谢:)它已经合并到应用程序中,一个上下文总是初始化的,另一个是由connectionstringbuilder在之后动态创建的。我只是想知道是否有更优雅的方式:)谢谢你:)