entity framework6的多个上下文,跨dbcontexts的引用实体

我正在使用通用的UnitOfWork编写两个MVC5(使用EF6和代码优先)Web应用程序,它获取Unity注入的dbContext。

我们需要有两个数据库(主数据库和项目特定数据库),并在两者之间有一个参考。

这是一个例子:

  • 在主要上下文中我有一个实体Employee
  • 在项目环境中,我有一个实体Department

我需要在我的项目中创建Departments,从Main组织和组织Employees。

我能有……吗…

ICollection Employees { get; set; } 在Project DB的Department实体中? (员工和部门之间的关系是多对多的)

你会怎么做这样的事情?

最简单的方法是将表从一个数据库链接到另一个数据库,以便这是将两个物理数据库作为一个虚拟数据库处理的数据库服务器。

然后,在EF中,您只有一个上下文,其中包含来自两个数据库的表以及查询/连接等正常工作。

http://msdn.microsoft.com/en-us/library/ff772782.aspx

否则,使用EF和两个上下文链接应用程序层中的两个数据库听起来是不可能的。