ほぼスタックオーバーフローに似た、音楽投票アプリケーションを構築しています。
Charts、ChartItems、Votesの3つのテーブルがあります。
各チャート項目の投票数をカウントして、単一のチャートにリンクするチャート項目のリストを戻そうとしています。
これは私が現在試していることです
var firstList = from chartItem in db.ChartItems
join vote in db.Votes on chartItem.ixChartId equals vote.ixChartId into j1
where chartItem.ixChartId == id
from j2 in j1.DefaultIfEmpty()
group j2 by chartItem.ixChartItemId into grouped
select new ChartItemWithVotes
{
totalVotes = grouped.Count(t => t.ixVoteId != null),
//CANT GET OTHER PROPS HERE
};
問題は、グループ化を実行すると、結合からモデルに入力するために必要な他のプロパティを取得できないことです。たとえば、各 ChartItem にはタイトル、ID などを含める必要があります。
ChartItemWithVotes (すべてのエンティティ値 + int totalVotes を含む) と呼ばれる、必要なすべてのプロパティを保持する ViewModel を作成しました。
誰でも私が間違っているところを手伝ってもらえますか?
結局これを求めて
チャート名
投票名
20 - チャート項目名
15 - チャート項目名
12 - ChartITemName