我有Country=>Ligue=>Team(Name, Score)
我需要从一个国家选择所有的球队名称-分数。
像这样的东西,不工作)
查询编辑:= 与甲级 myCountry。联赛,团队甲级。团队select name = team。Name, score = team。分数的
VB。
你应该能够做一个简单的Select/SelectMany
context.Countries.Single(c => c.CountryName == "My Country")
.Ligues.SelectMany(ligue => ligue.Teams
.Select(team => new { team.Name, team.Score }))
.Distinct();
以下是Kirk翻译成VB10扩展方法语法的代码:
dim result = context.Countries.Single(Function(c) c.CountryName = "My Country").
Ligues.SelectMany(Function(ligue) ligue.Teams).
Select(Function(team) new with {team.Name, team.Score }).
Distinct()
我相信(但我不确定,现在没有访问到VB编译器)你可以像这样写vb.net查询语法
(编辑我原来的试验确实是不正确的,所以我纠正了下面的查询:)
dim result = From ligue in myCountry.Ligues
From team in ligue.Teams
Select team.Name, team.Score Distinct
使用jeroenh的代码,使用Kirk的代码,这里是工作版本(VB.NET)
Dim query = From ligue In myCountry.Ligues
From team In ligue.Teams
Select Name = team.Name, Score = team.Score
Distinct