从一个数据库中拖入两个表后,我切换到另一个表并拖入一个表。现在,如果我想用新的连接字符串替换连接字符串,我会收到一条消息。我想在一个DBML中使用来自多个数据库的表。这可能吗?
答案 0 :(得分:5)
完全可以在同一个DBML中引用多个数据库,PROVIDED这些数据库驻留在同一个SQL Server上。
在Visual Studio中,右键单击DBML,单击“打开方式...”,然后选择带编码的XML(文本)编辑器。
您将看到您拖动的第一个表格如下所示:
< Table Name =“dbo.MyTable1fromMyDatabase1”Member =“MyTable1fromMyDatabase1”>
对于您要添加的其他数据库中的表格,请按以下方式输入:
< Table Name =“MyDatabase2.dbo.MyTable1fromMyDatabase2”Member =“MyTable1fromMyDatabase2”>
这可以使用相同的登录适用于两个数据库,您的LINQ
表达式现在可以在两个数据库中进行查询!
答案 1 :(得分:3)
我不相信您正在寻找的是可能的,因为DataContext将没有任何简单的方法来解析来自两个单独数据库的结果。
如果您想从两个独立的数据库创建域对象,那么最好的办法是拥有两个独立的DBML,然后使用桥接(GOF)或其他一些相关的设计模式来实例化您的域对象。
答案 2 :(得分:0)
另一种选择是在数据库上创建指向另一个的服务器链接,并从“本地”数据库为远程表创建别名。我相信你可以引用它们,好像它们都在同一个数据库中一样。
答案 3 :(得分:0)
我们还可以创建一个查询其他数据库中的表的视图。我们可以选择,插入和更新此视图,这也将影响其他数据库中的表。