0

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モデルを使用しているため、エラーが発生していると確信していますが、これを回避して、異なるテーブルから複数の列を表示するにはどうすればよいですか???? どんな助けでも大歓迎です...ありがとう

4

0 に答える 0