我有一个实体喜欢的实体列表
提供
Int OfferId
DateTime FromDate
DateTime ToDate
Bool Status
在 中List<Offer>
,它也有重复OfferId
,例如。
Offer1 { Id=1, From=01/01/2011, To=31/01/2011, Status=true }
Offer2 { Id=1, From=01/02/2011, To=28/02/2011, Status=false}
Offer2 { Id=2, From=01/02/2011, To=28/02/2011, Status=false}
Offer3 { Id=3, From=01/01/2011, To=31/01/2011, Status=true }
Offer4 { Id=4, From=01/01/2011, To=31/01/2011, Status=true }
Offer5 { Id=1, From=01/03/2011, To=31/03/2011, Status=false}
我正在尝试做的是选择offerId
与最旧和最频繁的报价相关的报价列表startdate
。
在这种情况下,它是一次 with offerId=1
。因为它的开始日期01/01/2011
是最古老和最频繁的。
我不确定如何将所有条件放在一个命令中。
我根据 对记录进行了分组offerId
,但我不确定如何继续
var list = OfferList.GroupBy(a => a.offerId).Select(g => g.Select(s => s));
更新
好像有点混乱。我正在尝试选择满足条件的列表或记录。在这种情况下,答案应该是
Offer1 { Id=1, From=01/01/2011, To=31/01/2011, Status=true }
Offer2 { Id=1, From=01/02/2011, To=28/02/2011, Status=false}
Offer5 { Id=1, From=01/03/2011, To=31/03/2011, Status=false}
因为,这个为1的 offerid 具有最早的起始日期,即01/01/2011,它也具有最频繁的起始日期,即01/01/2011。(01/01/2011 在主列表中作为起始日期出现 3 次)