LINQ в SQL «Комплекс» выберите
-
26-10-2019 - |
Вопрос
У меня есть Country => Ligue => Team (имя, счет)
Мне нужно выбрать все оценки названия команды из страны.
что -то подобное не работает)
запрос = из Лига в mycountry.ligues, из команда в Ligue.teams Выбрать имя = название команды, счет = Team.Score отчетливый
РЕДАКТИРОВАТЬ:
Синтаксис VB.NET предпочтительнее.
Решение 3
Используя код Jeroenh, который использовал код Кирка, вот рабочая версия (VB.NET)
Dim query = From ligue In myCountry.Ligues
From team In ligue.Teams
Select Name = team.Name, Score = team.Score
Distinct
Другие советы
Вы должны быть в состоянии сделать простой 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