フォローしている未成年者への最終的な割り当てに取り組んでいます。アーティストのリストを取得しようとしています。各アーティストには複数のアルバムがあり、それぞれに複数のトラックがあります。そのセレクションの中から、すべてではなく、アルバムごとに特定の数のトラックのみを選択することを任されています。そして、それが私が立ち往生しているところです。
これまでのところ、私の試みはこれを私にもたらしました:
var result = (from ta in db.ARTIEST
join tb in db.ALBUM on ta.ARTIEST_ID equals tb.ARTIEST_ID
join tc in db.TRACK on tb.ALBUM_ID equals tc.ALBUM_ID
where tb.TITEL == param && (
from td in db.TRACK
where td.ALBUM_ID == tb.ALBUM_ID
select td.ALBUM_ID
).Take(3).Contains(tb.ALBUM_ID)
select ta);
基本的に、私の質問は、Linq to Entities を使用して、2 つのテーブルを Artiest テーブルに結合し、選択した結果を 3 番目のテーブルから 3 つのレコードに制限するクエリを作成するにはどうすればよいですか?