VB.NET LINQ组加入后跟另一组

时间:2011-09-27 10:13:08

标签: vb.net linq join

我在VB.NET中有两个对象集合,我想使用连接将它们链接在一起,并且可能组合在一起。基本上我的对象看起来像这样:

机构

  • ID
  • 名称

访问

  • ID
  • InstitutionID
  • 日期
  • IsFollowUp
  • IsSelfScheduled

访问必须是一个机构,但一个机构也可以没有访问。我可以使用LINQ将它们链接在一起,但我不能让那些没有任何访问的机构也出现在列表中(这正是我要找的)。我知道我必须使用群组联接,但我也无法弄清楚如何合并现有的联接。

From p In visitList Where p.IsFollowUp = False AndAlso p.IsSelfScheduled = False
Group p By Key = p.InstitutionID Into grp = Group
Select InstitutionID = Key, Visits = grp, LastVisitDate = grp.FirstOrDefault().ProvisionalDate

如果最坏的情况发生,我可以实现一个私有类来做我想要的,但看起来它应该是LINQ中的简单。

编辑:

好的,使用Tim发布的下面的链接,我设法得到了类似的东西:

From i In institutionList
Select InstitutionID = i.ID, Name = i.Name, Inspections = 
(
   From p In visitList Where p.InstitutionID = i.ID Select p
)

它使用子查询来提取相关信息,但无论它是否有效,我都不知道。它似乎提取了相关信息。

0 个答案:

没有答案
相关问题