我有一张包含约会的桌子。这些约会有不同的状态(字节从 1 到 5)和日期;日期列被简单地称为AppointDate
。我传入了一个 ID 列表,我想根据状态以及约会日期是否过去对结果进行分组。
TheIDs
是作为参数传入的 long 列表。这是我到目前为止所拥有的:
var TheCounterInDB = (from a in MyDC.Appointments
where TheIDs.Contains(a.ID)
group a by a.AppointStatus into TheGroups
select new {
TheStatus = TheGroups.Key,
TheTotalCount = TheGroups.Count(),
TheLateCount = ?,
ThePendingCount = ?
}).ToList();
基本上,我想TheLateCount
成为状态为 1 且日期已过的所有约会的计数,以及ThePendingCount
状态为 1 且日期未过的所有约会的计数。我的匿名类型很适合返回所有不同状态的计数(这就是状态.Key
),但我想知道如何最好地将日期要求添加到分组中。
感谢您的建议。