实体框架 4,我可以在同一模型中拥有来自不同数据库服务器的 2 个表吗?
使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,你不能。整个 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 serverMyServer.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.
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.