SQL データベースから結果セット LEFT OUTER JOIN を返すビューがあります。MVC 3 を使用して、結果セットに基づいて部分ビューを表示しています。しかし....
@foreach (var category in Model.FeeScheduleRates().Distinct())
{
<tr><td colspan="2">@category.Category</td></tr>
foreach (var item in Model.FeeScheduleRates()
.Where(i=>i.Cat_ID == category.Cat_ID))
{
<tr>
<td>@item.Fee_Title - @item.Description</td>
<td>@item.Amount</td>
</tr>
}
}
ビューは 2 番目の foreach ループをループしていません。むしろ、一致するレコードがある回数だけ最初のエントリを繰り返します。そのため、各カテゴリの 2 つの列にまたがる行を持つテーブルを作成し、そのカテゴリ (タイトル、説明、および金額) 内のアイテムを表示する必要があります。
2 番目の foreach ループが機能しないのはなぜですか?
編集:リクエストに応じて
SELECT TOP (100) PERCENT a.Cat_ID, a.Fee_Title, a.Description, a.Amount, b.Category
FROM dbo.Fee_Schedule AS a LEFT OUTER JOIN
dbo.Fee_Categories AS b ON a.Cat_ID = b.Cat_ID
ORDER BY a.Cat_ID