如何使用从两个表返回列的参数编写Linq to SQL连接查询?

时间:2011-12-14 19:17:14

标签: c# sql sql-server linq-to-sql

我无法弄清楚如何在Linq中编写此查询:

select ic.icCategory, d.domHosting, d.domCode  
  from Domains d join Image_Categories ic 
    on ( d.domCode = ic.icDomainCode )
      where d.domCode = 'code'

有人可以帮忙吗?

由于

3 个答案:

答案 0 :(得分:2)

如果数据库中有适当的外键约束,则无需自行完成连接的所有管道。 linq-sql也会在你的类中创建它们!这是一个美丽的orm,否则你只是用不同的语法编写sql。

你可以做到

Var x = from i in db.Image_categoriees
    Where i.domain.domcode == 'code'
    Select new { i.icCategory, i.domain.domcode, i.domain.domhosting}

答案 1 :(得分:1)

尝试这样的事情:

var result =
    from d in dbContext.Domains
    join ic in dbContext.Image_Categories on d.domCode equals ic.icDomainCode
    where d.domCode == 'code'
    select new { ic.icCategory, d.domHosting, d.domCode }

有关查询表达式语法连接运算符的更多信息,以及此处的一些示例:

http://msdn.microsoft.com/en-us/library/bb896266.aspx

答案 2 :(得分:0)

from Domains d join Image_Categories ic  on d.domCode equals ic.icDomainCode
where d.domCode = 'code'
select ic.icCategory, d.domHosting, d.domCode