私はアイテムのコレクションを持っています:
class Item {
DateTime Start {get;set;}
DateTime End {get;set;}
}
開始日と終了日の例:09/08/2013
次のリストを作成する必要があります。(DateTime x - how many items with Start >x and End < x)
私はこれを行うことができます:
list(DateTime x, int HowMany) results
dayZero = Earliest start day
dayFinal = Latest end day
for (currentDay : dayZero to dayFinal)
put (currentDay,Get How Many Items with start>currentDay, end<currentDay)
しかし、問題はアイテムが時間的に分散していることです。合計アイテム数を変更せずに、多くの日数のアイテム数を計算します。最良の解決策は、アイテムの最初と最後の日だけを反復することだと思いますが、よりパフォーマンスを高めるにはどうすればよいでしょうか?
私はlinqを使用しているので、次のものがあります:
protected readonly OL4RENTDb _context;
IQueryable<T> query = _context.Set<Item>();
query.Where <- ????