在linq中加入4个表到Sql

时间:2011-03-19 14:26:07

标签: linq-to-sql join

我有4个表,需要编写一个linq查询来从所有表中提取信息!

这是表结构:

打印机:

  • printerID
  • PrinterName的

模板:

  • TemplateID
  • TemplateCategoryID
  • TEMPLATENAME

TemplateCategory:

  • TemplatecategoryID
  • TemplatecategoryName

数据:

  • 数据ID
  • PrinterID
  • TemplateID
  • CreatedDate
  • IsProcessedDate

我想要的信息是:

PrinterName,TemplateCategory,TemplateName,Data-CreatedDate,Data-IsprocessedDate。

我是linq的新手,无法识别解决这个问题的方法。如果有人对此发表任何评论,那么会非常感兴趣。

非常感谢,芬恩。

1 个答案:

答案 0 :(得分:2)

通过一些假设,添加您的上下文参考:

from d in Data
join t in Tempalte on d.TemplateID equals t.TempateID
join tc in TemplateCategory on t.TemplateCategoryID equals tc.TemplateCategoryID
join p in Printer on d.PrinterID equals p.PrinterID
select new
{
    p.PrinterName,
    tc.TemplatecategoryName,
    t.TemplateName,
    d.CreatedDate,
    d.IsProcessedDate
}