Я хотел бы суммировать данные, отображаемые на веб-странице, из столбца.
Я попытался использовать
ViewBag.Total = bookingdb.Packages.Sum(x => x.PkgBasePrice);
, что, очевидно, дает мне сумму данных в базе данных,
И я также попытался
@Model.Sum(i => i.Package.PkgBasePrice)
, где я получаю ошибку исключения NULL.
У меня есть 3 таблицы, пакеты заказов и клиенты через EF.
Форма просмотра имеет резервирование родительской таблицы, поэтому, если я пытаюсь добавить что-либо еще, например,
@Model.Sum(i => i.TravelerCount)
, это работает, и проблема в том, когда он идет как i.table.column, который выдает ошибку.
Я хотел бы суммировать все данные PkgBasePrice
, показанные на веб-странице, поскольку эти числа фильтруются по клиентам и повторяются, поэтому суммирование по базе данных не вариант.
Это из представления
@model IEnumerable<Online.Models.Booking>
@{
ViewBag.Title = "Bookings";
}
@*<h1>Welcome @Session["CustomerId"].ToString()</h1>*@
<h1>Welcome @Session["Username"].ToString()</h1>
<p>
<h2> Your Bookings </h2>
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.BookingDate)
</th>
<th>
@Html.DisplayNameFor(model => model.BookingNo)
</th>
<th>
@Html.DisplayNameFor(model => model.TravelerCount)
</th>
<th>
@Html.DisplayNameFor(model => model.Customer.CustFirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.Customer.CustLastName)
</th>
<th>
@Html.DisplayNameFor(model => model.Package.PkgName)
</th>
<th>
@Html.DisplayNameFor(model => model.PkgBasePrice)
</th>
<th></th>
</tr>
@foreach (var item in Model.Where(ModelItem =>
ModelItem.CustomerId.Equals(Session["CustomerId"])))
{
<tr>
@*<td>
@Html.DisplayFor(modelItem => item.Customer.CustomerId)
</td>*@
<td>
@Html.DisplayFor(modelItem => item.BookingDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.BookingNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.TravelerCount)
</td>
<td>
@Html.DisplayFor(modelItem => item.Customer.CustFirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Customer.CustLastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Package.PkgName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Package.PkgBasePrice)
</td>
<td>
@Html.ActionLink("Package Details", "Details", new { id =
item.BookingId })
</td>
</tr>
}
</table>
@Model.Sum(i => i.Package.PkgBasePrice) //doesn't Work
<div> @ViewBag.Total </div>
<div>
@Html.ActionLink("Personal Information", "Customer", "Customer")
</div>