【发布时间】:2018-12-21 02:18:28
【问题描述】:
我想要指定日期范围的数据库记录列表(包含 HoursCount 和日期)
如果某个日期的记录在数据库中不可用,那么该日期应该在 count = 0 的列表中
// Where GetDateWistUsage is...
public List<GraphData> GetDateWiseUsage(DateTime startDate, DateTime endDate)
{
return Set.Where(x => x.Date >= startDate.Date && x.Date < endDate.Date)
.GroupBy(x => x.Date)
.Select(x => new GraphData { Date = x.Key.Date, TotalHoursCount = x.Sum(i => i.TotalHours }).ToList();
}
// Where GraphData is
public class GraphData
{
public DateTime Date { get; set; }
public double TotalHoursCount { get; set; }
}
在这里,假设我们将 2018 年 12 月 1 日至 2018 年 12 月 20 日的日期传递到 2018 年 12 月 15 日,数据库中没有记录。在这种情况下,List 还应包含 15-Dec-2018,TotalHoursCount = 0
【问题讨论】:
-
您可能希望向我们展示您的应用程序的正确部分。 GetDateWiseUsage 肯定必须返回正确的数据吗?即使你想改变API方法,我们也不知道
AppUsageGraph是什么类型。 -
感谢约翰提供详细信息。我已经编辑了问题,是否有助于低估我的问题陈述
-
您能否也包括 GetDateWiseUsage 方法,并且基本上包括数据库查询在内的任何地方?
-
嘿约翰,我已经删除了不需要的方法,并在代码下面添加了一些额外的描述,希望这有助于理解实际问题...
-
您可能需要为缺失的日期生成一个日期范围,并将其与您的其余数据整合。