我的解決方案是以ViewModel的方式進行的。
定義視圖模型:
public class HistorialIndexData
{
public string StoreName { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime FechaLFinLiq { get; set; }
}
在控制器:
首先,我們將得到我們想要列出的項目,然後重複通包含這些項目的對象,並通過一個將它們添加一個到ViewModel對象並創建一個新列表。
public async Task<IActionResult> Historial()
{
List<HistorialIndexData> newHistorial = new List<HistorialIndexData>();
var items = await _context.HechosLiquidador.Include(s => s.Stores)
.Select(c => new { Store = c.Stores.StoreName, LiqDate = c.FechaLFinLiq }).Distinct()
.AsNoTracking().OrderBy(s => s.LiqDate).ToListAsync();
foreach(var itemtolist in items)
{
HistorialIndexData info = new HistorialIndexData
{
StoreName = itemtolist.Store,
FechaLFinLiq = itemtolist.LiqDate
};
newHistorial.Add(info);
}
return View(newHistorial);
}
更新視圖以使用新的ViewModel的列表。
@model List<Application.Models.ApplicationviewModels.HistorialIndexData>
完成!