使用linq在同一服务器上查询数据库

时间:2010-04-14 12:46:44

标签: linq-to-sql inner-join

在普通的sql中,我可以在不同数据库中的表上进行连接,只要它们位于同一服务器(或链接服务器)上即可。在linq我无法弄清楚如何做到这一点。这可能吗?例如,如果我有一个名为db1的数据库,另一个名为db2。 db1有一个名为people的表,而db2有一个名为address的表,我可以做类似......

的表
select a.addressline1, p.firstname
from db1.dbo.people p
inner join db2.dbo.address a on p.peopleid = a.peopleid

linq可以实现吗?感谢。

3 个答案:

答案 0 :(得分:0)

就个人而言,当我需要LINQ-to-SQL中的连接时,我只需要在SQL中创建它们。使用LINQ,它们很难编写,但LINQ中的.JOIN选择器应该可以实现。

解释编写LINQ查询的另一种方法是here

答案 1 :(得分:0)

不直接支持单个上下文下的多个数据库。在第一个数据库中创建指向第二个表中的表的视图,并将实体映射到这些视图。

本文还展示了这一点,以及通过手动编辑数据源属性的替代选项:

http://damieng.com/blog/2010/01/11/linq-to-sql-tips-and-tricks-3

答案 2 :(得分:0)

尝试使用db1。ExecuteQuery(@“您的查询”)

HTH