【发布时间】:2020-07-06 02:51:23
【问题描述】:
我有一张名为 Invoices 的表格。我必须按 createdDate 分组并获取第一个和最后一个发票编号并将其显示为范围。除此之外,我还需要选择 createdDate 作为列之一。我正在使用实体框架,下面是我之前尝试过的代码。我是初学者,如果您能给我正确的解决方案,那就太好了。
MyContext.Invoices
.Where(x => x.IsActive == true)
.GroupBy( t=>
{
CreatedDate = DbFunctions.TruncateTime(t.CreationDate),
InvoiceNumber = t.InvoiceNumber
})
.ToList()
.Select(t => new ReportViewModel
{
DayDate = t.Key.CreatedDate.ToString(),
TotalAmount = t.Sum(x => x.Price),
InvoiceNumRange = t.Key.InvoiceNumber.First() + " - " + t.Key.InvoiceNumber.Last(),
DisplayLabel = t.Key.CreatedDate.ToString()
})
.Where(d => (DateTime.Parse(d.DayDate) >= fromDate && DateTime.Parse(d.DayDate) <= toDate))
.OrderByDescending(o => o.DayDate)
.ToList()
【问题讨论】:
标签: c# wpf entity-framework