关联来自不同数据库的表 – entity framework

我想知道如何(如果可能的话)使用entity framework关联来自不同数据库的表。 我有一个edmx用于我的“xyz”数据库,另一个用于我的“abc”我需要使用EF关联它们。 我知道如何使用FK解决这个问题,但这不是我想要的,我希望能够使用可视化编辑器,而不是手动将FK添加到我的数据库中。

这是我想要完成的一个实际例子:

表用户 – 数据库:abc
表消息 – 数据库:xyz

我想将User与Message关联起来,反之亦然。

谁能帮助我?

谢谢!

您可以与Linq-to-Objects一起查询它们,但不能与L2S或L2E一起查询。

上下文包含在1个Db连接中,您无法跟踪/更新来自多个数据库的entites。

一种可能的解决方法是从另一个“链接”到其中一个Db。 MS-SQL可以做到这一点。 对EF来说它会出现1个数据库。

使用EF中的edmx设计表面无法实现此目的。

您可以在域模型中封装此关联,并在两个EF上下文之间提供分布式事务。 我们使用EF Context“container”类实现了后者,它给出了一个内部的上下文集合,当它包含多个上下文时使用TransactionScope(这依赖于IUnitOfWork抽象有效地工作)。