.NET使用列表中的子列表选择项目

.NET使用列表中的子列表选择项目,.net,vb.net,linq,.net,Vb.net,Linq,这是我的名单 locList.Add(New Location() With {.ID = "001", .Name = "KTYM"}) ' 2 products prdList.Add(New Product() With {.ID = "001", .Locations = locList, .Name = "Boost"}) prdList.Add(New Product() With {.ID = "003", .Locations = locList, .Name = "Pears"

这是我的名单

locList.Add(New Location() With {.ID = "001", .Name = "KTYM"})
' 2 products
prdList.Add(New Product() With {.ID = "001", .Locations = locList, .Name = "Boost"})
prdList.Add(New Product() With {.ID = "003", .Locations = locList, .Name = "Pears"})


locList = New List(Of Location)
prdList = New List(Of Product)
locList.Add(New Location() With {.ID = "002", .Name = "TVM"})
' 3 products
prdList.Add(New Product() With {.ID = "002", .Locations = locList, .Name = "Horlicks"})
prdList.Add(New Product() With {.ID = "003", .Locations = locList, .Name = "Pears"})
prdList.Add(New Product() With {.ID = "004", .Locations = locList, .Name = "Colgate"})


locList = New List(Of Location)
prdList = New List(Of Product)
locList.Add(New Location() With {.ID = "003", .Name = "KNR"})
' 4 prod
prdList.Add(New Product() With {.ID = "B05", .Locations = locList, .Name = "CloseUP"})
prdList.Add(New Product() With {.ID = "003", .Locations = locList, .Name = "Pears"})
prdList.Add(New Product() With {.ID = "016", .Locations = locList, .Name = "Maggi"})
prdList.Add(New Product() With {.ID = "A07", .Locations = locList, .Name = "Dairy Milk"})
每个产品都有一个位置。我想从给定位置的列表中选择所有产品。我怎样才能做到呢?我正在为CE设备使用.NET3.5。谢谢你的帮助

编辑

这里prd.Count返回零。

C应该是。其中p=>p.Locations.Any loc=>loc.ID==LocIdYouWant

我认为这可能相当于VB.Net:


.Where Functionp p.Locations.Any Function loc.ID=LocIdYouWant

您做了哪些努力?我尝试了很多使用Linq的组合,但它抛出了空引用:。让我更新请显示code.@DanielA.White为您的建议更新了cideThanks。我试过了。我认为3.5CE不支持任何。我有问题。让我再试一次。MSDN说它包含在3.5 compact中。。。也许我的VB.Net不正确
Dim prd = From p As Product In prdList _
                  From loc As Location In p.Locations _
                  Where loc.ID = "001" _
                  Select p