データベース内のすべての時刻/日付は UTC で保存されます。
このクエリを考えると
DateTime minus24FromUtc = DateTime.UtcNow.AddDays(-1)
var query = from h in Context.Holidays
where h.Date >= minus24FromUtc
select h;
の日付の次のエンティティは、 の値が の3-AUG-2013 0:00:00
場合に無視されます。minus24FromUtc
2-AUG-2013 2:33:29AM
次の比較query.ToArray()[0] >= minus24FromUtc
は失敗します。これは、日付の種類がに設定されているため、日付Unspecified
が誤って現地時間と比較されているためだと思われます。
Entity Framework でこれを回避する方法はありますか? 最初にすべてのアイテムを取得して Date Kind を UTC に設定するよりも、RDBMS にフィルタリングを処理させたいと思います。
ありがとう。