エンティティ フレームワークによって設定された予約クラスがあります。テーブルに対してさまざまなクエリを実行し、両方をビューに返したいと考えています。クラスを使用してそれらを結合することについて読んだことがありますが、これを機能させるのに問題があります...
助けてくれてありがとう
エラー
「ITAPP.Models.Bookings」には「GetEnumerator」のパブリック定義が含まれていないため、foreach ステートメントは「ITAPP.Models.Bookings」タイプの変数を操作できません
クラス
namespace ITAPP.Models
{
public class Bookings
{
public List<tblBooking> BookedIn { get; set; }
public List<tblBooking> BookedOut { get; set; }
}
}
使用法(両方に同じクエリを使用してテストするため、後でin/outクエリを使用します)
var tblBookings = from d in db.tblBookings.Include(t => t.Equipment).Include(t => t.tblUser)
where (d.Equipment.Bookable == true ) &&
(d.Equipment.Deleted == false) &&
(d.Equipment.DecommissionDate == null || d.Equipment.DecommissionDate == dateBlank1 || d.Equipment.DecommissionDate == dateBlank2)
select d;
Bookings Bookings = new Bookings();
Bookings.BookedIn = tblBookings.ToList();
Bookings.BookedOut = tblBookings.ToList();
return View("Loaned", Bookings);
意見
@model ITAPP.Models.Bookings
@foreach (var item in Model) {
foreach (var inItem in item.BookedIn)
{
<td>
@Html.DisplayFor(modelItem => inItem.tblUser.FullName)
</td>
<td>
@Html.DisplayFor(modelItem => inItem.BookFrom)
</td>
<td>
@Html.DisplayFor(modelItem => inItem.BookTo)
</td>
}
}