それらのレコードに関連付けられている時間に関係なく、特定の日のすべてのレコードを取得したいと思います。これまでのところ、次のような方法があります。
public IQueryable<Record> QueryByDay(DateTime day)
{
DateTime from = day.Date;
DateTime to = day.Date.AddDays(1);
return repository.Table
.Where(t => t.MyDate >= from && t.MyDate < to);
}
しかし、linq-to-object では次のことができます (Table が何らかのコレクションになったと仮定します)。
public IEnumerable<Record> QueryByDay(DateTime day)
{
return repository.Table
.Where(t => t.MyDate.Date == day.Date);
}
これは明らかに読みやすく、よりクリーンに感じます。データベースストレージと休止状態を使用して最初のメソッドを記述するより良い方法があるかどうか疑問に思っていましたか?