我想知道是否可以使用Code First映射两个不同数据库之间的关系。例如,我想部署具有相同数据库结构的不同网站(相同的系统)。但我希望一个主数据库拥有所有系统将共享访问权限的表。
实施例: 主数据库中的表客户端; 表格ClientContacs在个别特定系统的数据库中;
是否可以使用Code First和多个DbContext进行映射?如果不是,我真的很感激如何实现这一目标的建议! 谢谢!
答案 0 :(得分:0)
我认为单个数据库可以有多个上下文,但单个上下文不能有多个数据库。
答案 1 :(得分:0)
是的,这是可能的,但不是很方便。
以下是使用EDMX文件执行此操作的说明:
http://rachel53461.wordpress.com/2011/05/22/tricking-ef-to-span-multiple-databases/
首先使用代码会更容易一些,因为您只需要引用表名。但是,您无法自动创建EF。您必须先创建同义词,然后将同义词视为普通表。
显然,这仅适用于支持同义词的数据库...... SQL Server 2008+应该没问题。
但是,这实际上是将它视为一个单独的数据库,其中包含"链接"作为表格到另一个数据库......你不能明确地把它当作两个独立的数据库。