[英]MVC Linq using GroupBy Min Max and returning view
我有一張桌子,需要按預定的日期分組,我需要該組返回最小開始日期和最大結束日期,我需要幾天的總和。 我寫了以下內容:
var model = _db.AnnualLeaves.Where(r => r.StafferId == stafferId)
.GroupBy(r => r.tBooked)
.Select(m => new
{
start = m.Min(r => r.StartDate),
end = m.Max(r => r.EndDate),
daycount = m.Sum(r => r.Days)
});
我似乎無法讓模型返回視圖。 我已經嘗試過各種foreach,但是我一直沒有收到錯誤。
如果我使用以下方法創建視圖:
@foreach (var item in ViewData.Model)
{
@item
}
該視圖呈現:
{ start = 15/10/2014 00:00:00, end = 21/10/2014 00:00:00, daycount = 5 }
{ start = 28/06/2015 00:00:00, end = 03/07/2015 00:00:00, daycount = 4.5 }
購買我無法將@item.start
轉到頁面上。
我嘗試創建一個模型,並針對以下模型將上述var model
更改為IEnumerable
。
public class ListLeaveModel
{
public DateTime start { get; set; }
public DateTime end { get; set; }
public double daycount { get; set; }
}
我似乎現在正在轉轉。 我只是剛開始使用MVC和C#,所以它可能很簡單! 我希望這很清楚-我不知道什么是重要的。
您不應該返回任何鼠標類型
var model = _db.AnnualLeaves.Where(r => r.StafferId == stafferId)
.GroupBy(r => r.tBooked)
.Select(m => new ListLeaveModel
{
start = m.Min(r => r.StartDate),
end = m.Max(r => r.EndDate),
daycount = m.Sum(r => r.Days)
});
return View(model.ToList());
供您查看:
@model IList<ListLeaveModel>
@foreach (var item in Model)
{
@item.start
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.