实体框架 4,我可以在同一模型中拥有来自不同数据库服务器的 2 个表吗?

发布于 2024-10-21 16:49:56 字数 140 浏览 2 评论 0原文

使用 Entity Framework 4,我可以在同一模型中拥有来自不同数据库服务器的 2 个表吗? 我有来自 SQL Server A 的表 X 和来自服务器 B 的表 Y。 一个模型下的每个表是否可以有不同的连接字符串,或者我是否需要有不同的 dbml 文件?

With Entity Framework 4, can I have 2 tables from different db servers in the same model?
I have table X from SQL Server A and Table Y from Server B.
Is it possible to have different connection string per table under one model or do I need to have different dbml files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

带刺的爱情 2024-10-28 16:49:57

不,你不能。整个 EDMX 文件具有单个连接字符串。此外,EF 不允许表的完全限定名称。从链接服务器 MyServer.MyDatabase.dbo 定义表 TableA a 可能会在 SQL 查询中产生类似于 [MyServer.MyDatabase.dbo].[TableA] 的结果,并且它会抛出例外。

如果您希望在单个模型中支持来自两台服务器的表,请尝试将第二台服务器链接到第一台服务器,并在第一台服务器上的当前数据库中为第二台服务器的每个表创建一个视图。

No you can't. Whole EDMX file have single connection string. Moreover EF don't allow fully qualified names of tables. Defining table TableA a from linked server MyServer.MyDatabase.dbo will probably in SQL query result in something like [MyServer.MyDatabase.dbo].[TableA] and it will throw exception.

If you want support tables from two servers in a single model, try to link your second server to the first server and create a view for each table from the second server in your current database on the first server.

失眠症患者 2024-10-28 16:49:57

IIRC 如果它们是链接服务器,您也许能够完全限定 DBML 中的表名称。我没有任何东西可以测试,我知道你可以在 Linq2Sql 中在同一服务器上的不同数据库上进行测试。

IIRC you might be able to fully qualify the table name in the DBML if they are linked servers. I don't have anything to test on, I know you can do it in Linq2Sql on Different databases on the same server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文