2012-10-20 8 views
5

मैं वर्तमान में RavenDB का उपयोग कर ऑब्जेक्ट को संग्रहीत करने के लिए उपयोग कर रहा हूं जो तारीखों को स्टोर करने के लिए नोडा टाइम के इंस्टेंट क्लास का उपयोग करता है।नोडा टाइम इंस्टेंस वैल्यू सही ढंग से deserializing नहीं

RavenDb भंडार

के रूप में मूल्य "ArrivalTime": { "Ticks": 13507658019037497 },

लेकिन जब क्वेरी वस्तु यह हमेशा शून्य है और यूनिक्स काल समय की शुरुआत में शुरू होता है।

मैंने जेसनकॉन्टर विशेषता का उपयोग करने का प्रयास किया है, लेकिन पाठक हमेशा तत्काल प्रकार के लिए एक शून्य मान देता है। अगर मैं एक से अधिक गुणों का उपयोग करता हूं, तो यह केवल पहले को संदर्भित करता है।

क्या मुझे रावण डीबी के साथ नोडा समय का उपयोग करना चाहिए या बस नियमित समय-समय पर रहना चाहिए?

धन्यवाद

उत्तर

2

RavenDB 2.5

का उपयोग करके आप RavenDB 2.5 उपयोग करने में सक्षम हैं, तो आप पूर्ण Noda समय समर्थन किया है और Noda समय प्रकार का उपयोग आपके डोमेन संस्थाओं में कर सकते हैं। आपको Noda Time extensions for RavenDB की आवश्यकता होगी।

RavenDB 2,0

का उपयोग करते हुए आप शायद आपके डोमेन संस्थाओं में Noda समय का उपयोग कर बेहतर नहीं हैं। इसके बजाय, अंतर्निहित प्रकारों का उपयोग करें जैसे कि DateTimeOffset, DateTime और TimeSpan

आप अपने आवेदन तर्क में नोडा टाइम का उपयोग कर सकते हैं, लेकिन दृढ़ता परत में नहीं। नोडा समय में Instant.ToDateTimeOffset() और Instant.FromDateTimeOffset() विधियां बहुत उपयोगी हैं, और RavenDB DateTimeOffset मानों के साथ बहुत अच्छी तरह से काम करता है। यह उन्हें ISO8601 प्रारूप में संग्रहीत करता है, और अनुक्रमण के दौरान यूटीसी समय में ठीक से बदल जाता है। इसका मतलब यह है कि आप ऑफ़सेट रूपांतरण के संबंध में DateTimeOffset मानों की अनुक्रमणिका से पूछ सकते हैं।

+0

यह बहुत अच्छी सलाह है धन्यवाद! –

संबंधित मुद्दे