【发布时间】:2015-10-08 01:54:56
【问题描述】:
我需要从数据库中获取折线图的数据,其中流从当前日期 n 天/周/月/年按这些时间跨度分组。
数据库中的记录有一个与之关联的日期时间。
给定日期范围列表(一天开始到一天结束或一周开始到一周结束)如何使用 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 中的答案都很好,我都知道)
【问题讨论】:
标签: .net linq linq-to-entities