我有实体的名单,其中实体喜欢使用多组通过选择一个记录和统计
发售
Int OfferId
DateTime FromDate
DateTime ToDate
Bool Status
在List<Offer>
,它具有复制OfferId
以及 EG 。
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
的列表。
在这种情况下,它是与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}
因为,这OFFERID这是具有这是01/01/2011最古老没有fromdate它也有最频繁的没有fromdate这是01/01/2011。 (01/01/2011是出现3次在主列表没有fromdate)
这是优先考虑最早还是最频繁? – Hogan 2012-07-30 14:06:37
@Hogan:需要检查最早的最早的和最老的一组,最频繁的日期 – 2012-07-30 14:07:41
如果最早的日期不是最频繁的开始日期,会发生什么? – PCasagrande 2012-07-30 14:40:07