У меня есть следующие таблицы:
КОМАНДЫ:
ID Name
------ ---------
1 Giants
2 Yankees
3 Cool Guys
ИГРОКИ:
ID Name Team IQ SomeOtherDetail
------ --------- ------- ------ ----------------
1 Bob 1 100 Oklahoma
2 Joe 1 80 Who knows?
3 Sue 2 130 Who cares?
4 Fred 2 76 42
5 Ed 2 90 Yes, please.
6 Schultz 3 314 :-)
Мой код содержит текущий класс:
public class Team
{
public int Id { get; set; }
public string Name { get; set; }
public List<Player> Players { get; set; }
}
Используя старые добрые строковые запросы и DataReader, я пытаюсь получить список всех команд, включая игроков.
Есть ли способ сделать это с помощью одного запроса?
Решения для этого вопроса довольно близки;
Я думал о том, чтобы получить список игроков в виде одной строки, а затем разделить их, но это не помогает, потому что мне нужны все данные игроков (имена, идентификаторы и т. Д.), И, кроме того, это похоже на подвох.
Еще я подумал о таких запросах:
select *
from TEAMS join PLAYERS
on TEAMS.ID = PLAYERS.Team
... (таким образом получаются дополнительные строки), а затем концентрируют результаты с помощью linq, но я не уверен, насколько это эффективно.
Итак, есть какие-нибудь яркие идеи?