アプリケーションにLinqtoEntitiesを利用する適切な方法を決定するための支援をいただければ幸いです。具体的には、複数の多対多のテーブルを操作する場合、グループ化を理解するのが困難です。
簡略化されたデータベース設計は次のとおりです。
http://imageshack.us/a/img443/5863/entitydesignerdiagram.png
DBデザインコンセプト:
人:複数の統計を編集するためのアクセス権を持つ個々の人。シーズン:2012年の野球や2012年など、統計をグループ化する期間。プレーヤー:統計に関与する個人またはグループ。ここで必要なのは、エンティティの名前だけです。Kevin Wasie、またはVarsity Team Statisticsなど:タッチダウンやホームランなど、1シーズンに属する個々の統計情報を保持します。
コードビハインド:
Dim stats = From st In pl.statistics From per In st.people
Where per.id.Equals(personID)
Select New With
{.season_name = st.season.name, .statistic_name = st.name, .season_id = st.season.id,
.players = From play In pl.players
Where play.seasonId = st.season.id
Select New With {.player_name = play.name}}
rep_statistics.DataSource = stats
rep_statistics.DataBind()
.aspx:
<asp:Repeater ID="rep_actions" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<b><%# Eval("season_name")%></b> - <%# Eval("statistic_name")%><br />
<asp:Repeater ID="rep_part" runat="server" DataSource='<%# Eval("players")%>'>
<itemtemplate>
<%# Eval("participantname")%>
</itemtemplate>
<SeparatorTemplate>,</SeparatorTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
望ましい結果は、ページをシーズンごとにグループ化して表示することです。
Season 1
Statistic 1
Season1 Players
Statistic 2
Season1 Players
Statistic 3
Season1 Players
Season 2
Statistic 4
Season 2 Players
...
現在の結果は次のとおりです。
Season 1
Statistic 1
Season1 Players
Season 1
Statistic 2
Season1 Players
Season 1
Statistic 3
Season1 Players
Season 2
Statistic 4
Season 2 Players
...
linqを変更して目的の結果を得るにはどうすればよいですか?
チュートリアルやその他の情報へのリンクを含む、あらゆる支援をいただければ幸いです。前もって感謝します!