【发布时间】:2011-08-27 12:57:09
【问题描述】:
这样做是否有效,例如
CREATE SYNONYM [dbo].[MyTable] FOR [AnotherDatabase].dbo.[MyTable]
然后修改 Entity Framework 的 edmx 文件以读取此对象,就像读取任何其他表一样?
我做了一个快速的示例测试,它似乎可以很好地选择和更新,但我想知道是否有任何理由不应该这样做
我通过创建指向第二个数据库的 edmx 文件来获取表定义,在那里构建实体,然后将定义复制/粘贴到第一个数据库的 edmx 文件中。
更新
如果有人感兴趣,我会写下我为使 edmx 文件跨越多个数据库 here 所做的工作。它包括用于生成同义词和合并 edmx 文件的脚本。
【问题讨论】:
-
我看到的主要缺点是需要手动操作 edmx,并且无法自动更新 edmx 以引入数据库模式更改。可能还有其他缺点。
-
@carmainc:这是一个小烦恼,但对我来说,它比必须手动创建两个数据上下文之间的链接以及必须多次访问服务器以获取链接数据要好得多。相反,我只需要更新我的第二个 edmx 文件并复制/粘贴新信息。
-
瑞秋,我看到了你的帖子。我想知道您是否遇到了除了您的帖子中已经列出的问题之外的问题...我正在考虑您为我工作的公司正在开发的 ERP 的方法...谢谢!!!
-
很高兴你喜欢它!我还没有遇到任何问题,但我也没有将它用于任何高级的东西,因为我自己对 EF 还很陌生。我知道有一天需要修复的唯一一件事是合并脚本需要考虑已删除的项目。我知道如何修复它,但我没有费心去实际更新脚本,因为我还不需要它
-
你是一个救生员! :)
标签: sql-server entity-framework multiple-databases synonym