DB に存在する日のみの使用状況データのリストを返す次の EF クエリがあります。
var DailyUsage = context.UsageData.Where(u => u.UserID == CurrentUser.ID && u.Date >= Start && u.Date <= End)
.Select(p => new PerfData
{
Date = p.Date,
Transfers = p.Transfers,
Exists = p.Exists,
Duration = p.Duration
}).ToList();
DBに存在しない日付のデータポイントが0の中断のない日付シーケンスのリストを返したいので、次の日付のリストで左外部結合を試みていますが、正しく取得できないようです:
public static List<DateTime> GetDateRange(DateTime startingDate, DateTime endingDate)
{
if (StartingDate > EndingDate)
{
return null;
}
List<DateTime> rv = new List<DateTime>();
DateTime tmpDate = startingDate;
do
{
rv.Add(tmpDate);
tmpDate = tmpDate.AddDays(1);
}
while (tmpDate <= endingDate);
return rv;
}