Cześć wszystkim.Chciałbym wyświetlić sumę zamówień z danego miesiąca w ASP.NET MVC:
Moja tabela Order wygląda następująco:
DateCreated | TotalPrice
2017-02-06 | 400
2017-02-06 | 300
2017-03-06 | 100
2017-03-06 | 50
Chciałbym uzyskać sumę miesięczną zamówień tak jak poniżej:
DateCreated | TotalPrice
2017-02 | 700
2017-03 | 150
Mój kod wygląda następująco:
public ActionResult ListOrder()
{
var result = from s in db.Orders
group s by new { date = new DateTime(s.dateCreated.Year, s.dateCreated.Month, 1) } into g
select new Order
{
dateCreated = g.Key.date,
totalPrice = g.Sum(x => x.totalPrice)
} ;
return View(result);
}
Mój widok:
@model IEnumerable<Sklep_Internetowy.Models.Order>
@{
ViewBag.Title = "ListOrder";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Suma zamówień z danego miesiąca</h2>
<table style="width:100%">
@foreach(var item in Model)
{
<tr>
<td>@item.totalPrice</td>
<td>@item.dateCreated</td>
</tr>
}
</table>
Mój komunikat o błędzie:
An exception of type 'System.NotSupportedException' occurred in EntityFramework.SqlServer.dll but was not handled in user code
Additional information: Only parameterless constructors and initializers are supported in LINQ to Entities.
Ma ktoś, może jakiś pomysł jak to rozwiązać? Na początku dane te chciałbym przedstawić w tabelce, a docelowo później zamierzam stworzyć wykres na którym wyświetlona zostanie całkowita sumę zamówień z danego miesiąca tak jak na tym zdjęciu:
chart.PNG