私は次のテーブルを持っています:
チーム:
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を使用して、プレーヤーを含むすべてのチームのリストを取得しようとしています。
単一のクエリでこれを行う方法はありますか?
この質問の解決策はかなり近づいています。
プレイヤーのリストを1つの文字列として取得して分割することを検討していましたが、すべてのプレイヤーの詳細(名前、IDなど)が必要であるため、役に立たず、しかも汚いトリックのように感じます。
私が考えたもう1つのことは、次のようにクエリを実行することです。
select *
from TEAMS join PLAYERS
on TEAMS.ID = PLAYERS.Team
...(したがって、余分な行を取得します)、linqを使用して結果を集中しますが、これがどれほど効率的かはわかりません。
それで、何か明るいアイデアはありますか?