使用Entity Framework 4,我可以在同一模型中拥有来自不同数据库服务器的2个表吗? 我有来自SQL Server A的表X和来自Server B的表Y. 是否可以在一个模型下为每个表设置不同的连接字符串,或者我是否需要具有不同的dbml文件?
答案 0 :(得分:4)
不,你不能。整个EDMX文件具有单个连接字符串。此外,EF不允许表格的完全限定名称。从链接服务器TableA
定义表MyServer.MyDatabase.dbo
可能会在SQL查询中产生类似[MyServer.MyDatabase.dbo]。[TableA]的内容,它会抛出异常。
如果您想在单个模型中使用来自两个服务器的支持表,请尝试将第二个服务器链接到第一个服务器,并为第一个服务器上当前数据库中第二个服务器的每个表创建一个视图。
答案 1 :(得分:0)
IIRC如果它们是链接服务器,您可以完全限定DBML中的表名。我没有任何可测试的东西,我知道你可以在同一服务器上的不同数据库上的Linq2Sql中进行测试。