做某些事情是否有效
CREATE SYNONYM [dbo].[MyTable] FOR [AnotherDatabase].dbo.[MyTable]
然后修改Entity Framework的edmx文件以读取此对象,就像任何其他表一样?
我做了一个快速的样本测试,它似乎在选择和更新时工作正常,但我想知道是否有任何理由我不应该这样做
我通过创建指向第二个数据库的edmx文件,在那里构建实体,然后将定义复制/粘贴到第一个数据库的edmx文件中来获取表定义.
UPDATE
如果有人有兴趣,我写下了我在这里制作edmx文件跨越多个数据库所做的工作.它包括用于生成同义词和合并edmx文件的脚本.
我在SQL Server中有两个数据库,我有一个公用表,两个数据库都是一个重要的大表,它将外键保存到其他表中.问题是Table在DatabaseA中,我需要从DatabaseB将外键引用到该表.
我知道SQL不支持跨数据库引用完整性,那么实现这一目标的最佳方法是什么?我正在考虑将两个数据库组合成一个数据库 - 除了复杂性的增加之外没有关系.
有什么建议?
仓促的研究告诉我,即使EF4仍然不支持SQL Server同义词.设置基于同义词的实体集的选项有哪些,就好像它是基于表的实体集一样?我提出的最粗糙的是复制同义词的基础表,将其添加到我的模型,然后重命名商店模型中的实体集.使用POCO或代码优先方法是否没有更优雅的解决方法?