我有一個從EF中提取的Orders
的集合。每個Order
有訂單日期:Linq查詢按日期統計和分組項目
public class Order {
public DateTime Date { get; set; }
public int Id { get; set; }
}
我希望能夠運行一個查詢在特定日期範圍返回訂單的數量每一天。查詢方法應該是這個樣子:
public class ICollection<OrderDateSummary> GetOrderTotalsForDateRange(DateTime startDate, DateTime endDate) {
var orderDateSummary = Set.SelectMany(u => u.Orders) // ..... grouping/totalling here?!
return orderDateSummary;
}
有關信息,Set
居然是返回一個用戶聚合根的存儲庫的一部分,所以Set
類型是DbSet<User>
我堅持上分組和彙總的位Orders
可從SelectMany
方法查詢。
的OrderDateSummary類的樣子:
public OrderDateSummary {
DateTime Date { get; set; }
int Total { get; set; }
}
因此,輸出的2016年1月1日開始日期和2016年3月1日結束日期看起來是這樣的:
Date Total
===================
01/01/2016 10
02/01/2016 2
03/01/2016 0
04/01/2016 12
什麼是你的問題?無法看到問題或可能發生的任何錯誤。 – HimBromBeere
var x = orderDateSummary = Set.SelectMany(u => u.Orders).where(x => x.startdate> = sdate && x.Enddate <= edate).select(x => x.total) –
您是否還需要零行'03/01/2016 - 0'? –