2 つのテーブルを結合して、2 つのテーブルの列を含む厳密に型指定されたリスト ビューに結果を表示しようとしています。
public ActionResult OrderDetails(int id) {
var query = from o in db.OrderDetails
join a in db.Albums on o.AlbumId equals a.AlbumId
where o.OrderId == id
select new OrderDetail() {
OrderId = o.OrderId,
AlbumId = o.AlbumId,
Quantity = o.Quantity,
UnitPrice = o.UnitPrice,
Album = new Album {
Title = a.Title
}
};
return View(query);
}
これが私の見解です
@model IEnumerable<QWERK.OrderDetail>
@{
ViewBag.Title = "OrderDetails";
}
<h2>OrderDetails</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.OrderId)
</th>
<th>
@Html.DisplayNameFor(model => model.AlbumId)
</th>
<th>
@Html.DisplayNameFor(model => model.Quantity)
</th>
<th>
@Html.DisplayNameFor(model => model.UnitPrice)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.OrderId)
</td>
<td>
@Html.DisplayFor(modelItem => item.AlbumId)
</td>
<td>
@Html.DisplayFor(modelItem => item.Quantity)
</td>
<td>
@Html.DisplayFor(modelItem => item.UnitPrice)
</td>
<td>
@Html.DisplayFor(modelItem => item.Album.Title)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.OrderDetailId }) |
@Html.ActionLink("Details", "Details", new { id=item.OrderDetailId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.OrderDetailId })
</td>
</tr>
}
</table>
しかし、私は NotSupportedException を取得し続けます
OrderDetailsモデルを使用しているため、エラーが発生していると確信していますが、これを回避して、異なるテーブルから複数の列を表示するにはどうすればよいですか???? どんな助けでも大歓迎です...ありがとう