Как использовать groupby data in view для отображения результата в C#, MVC, LINQ
Всем привет
Не могли бы вы помочь мне, как отобразить для каждого пользователя общие расходы
Таблица UserRecords
+-------+------+--------------+ |Id | Name | Cost | +-------+------+--------------+ | 1 | Anna | 30.3 | +-------+------+--------------+ | 2 | Anna | 500 | +-------+------+--------------+ | 3 | Sam | 30.3 | +-------+------+--------------+ | 4 | Tom | 20.5 | +-------+------+--------------+ | 5 | Tom | 20.5 | +-------+------+--------------+ | 6 | Anna | 20.5 | +-------+------+--------------+ desire result how to display in web page MVC Anna 550.8 Sam 30.3 Tom 41 Total 622.1 Thank you ;)
Что я уже пробовал:
public ActionResult Index() { //Disply user and cost var userNameGroup = db.UserRecords.GroupBy(c=>c.Name); foreach (var group in userNameGroup) { var result = ("{0} -{1}", group.Key, group.Max(s => s.Cost)); } return View(db.UserRecords.GroupBy(x=>x.UserNames).ToList()); } //how to go from this to the webpage display
@model IEnumerable<MobileReports.Models.UserRecord> <table class="table"> @if (!Model.Any()) { @Html.LabelForModel("Not data uploaded yet") } else { <tr> <th> @Html.DisplayNameFor(model => model.Cost) </th> <th> @Html.DisplayNameFor(model => model.Name) </th> <th></th> </tr> foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Cost) </td> <td> @Html.DisplayFor(modelItem => item.Name) </td> <td> @Html.DisplayFor(modelItem => item.Total) </td> </tr> } } </table>
Maciej Los
Какая версия MVC? MVC 3, MVC 4, MVC для Core .NET?