我的目标是创建一个燃尽图。
我有一个包含以下相关字段的故障对象:
- 故障ID
- 故障创建开始日期
- 故障关闭日期
我创建了一个列表,它返回两个给定日期之间的日期列表
List<DateTime> listOfDays = new List<DateTime>();
int lastDayOfMonth = DateTime.DaysInMonth(i_Date.Year, i_Date.Month);
for (int i = 1; i <= lastDayOfMonth; i++)
{
listOfDays.Add(new DateTime(DateTime.Now.Year,
DateTime.Now.Month, i));
}
现在我想知道每天打开的故障数量,这意味着它们还没有关闭。
基本上FaultClosedDate
应该>比相关day
我创建了一些 linq 表达式,但它执行内部连接而不是左连接。
我想获取该月的所有天数并计算当天所有打开的故障
var tryfaults = listOfDays.SelectMany(d => i_Context.Faults.GetAllFaults()
.Where(f=> f.FaultCloseDateTime >= d.Date), (d, f) => new
{
Date = d.Date,
Open = f.FaultID
}).GroupBy(d => d.Date).Select(d => new
{
Date = d.Key.Date,
Open = d.Count()
}).ToList();