RavenRB (ビルド 1.0.960) に保存する C# オブジェクトがあります。DateTime は UNIVERSAL ですが、RavenDB はそれを現地時間として保存します。"Time": "2012-06-12T13:07:39.0000000"
次に、session.Query().Where()... を使用して世界時を渡すと、オブジェクトが返されません... 比較が 12 時間 (Im UTC+1200) ずれているためです。
私は何を間違っていますか??
[編集]
わかりました - 問題が何であるかがわかります。オブジェクト (JSON) をサーバーに POST し、UTC 形式 (タイムゾーン オフセットなし、「2012-06-12T13:07:39.00Z」) で送信します。Asp.net Web API が送信されたのと同じように、UTC Kind のオブジェクトに逆シリアル化しますが、そうではありません。ローカルサーバー時間にデシリアライズされます。これは、オブジェクトを Raven に保存すると、Raven はそれを現地時間 (Z 識別子なし) として保存することを意味します。ああ!すべての日付を UTC でデータベースに保存したい (ベスト プラクティスに従って)!
Web API のシリアライゼーションをハッキングしようとするのは、本当に大変なことです。Raven は、保存する前にすべての日付を UTC に変換する魔法のフラグで私を救うことができますか? 保存する前に、サーバー上のオブジェクトをプロパティごとに反映し、DateTimes を探して UTC に変換する必要はありません... EEEW!
提案?
ありがとう