我需要從數據庫中獲取線性圖的數據,其中數據流從當前日期n天/周/月/年按這些時間跨度分組。使用外部列表分組linq查詢沒有間隙
DB中的記錄具有與它們關聯的DateTime。
給定日期範圍列表(開始一天到一天結束或一週開始到一週結束)如何使用linq獲得連續流?
在正好沒有該日期範圍內的記錄的情況下,流中沒有空白是很重要的。它應該只返回一個零。
這是我試過的,但它不返回任何值。
Dim ranges = Enumerable.Range(0, itemCount).Select(Function(x) DateTime.Now.AddDays(-x).Date).ToList()
Dim stream = Await DB.LogEntries.
OfType(Of LogEntryContentView).
GroupBy(Function(x) DbFunctions.TruncateTime(x.DateStamp)).
Where(Function(x) ranges.Any(Function(y) y < x.Key AndAlso DbFunctions.AddDays(y, 1) > x.Key)).
OrderBy(Function(x) x.Key).
Select(Function(x) x.Count()).
ToListAsync()
(用C#或VB.NET的答案都很好,我知道這兩個)