मैं SQL सर्वर पर टाइमस्पेन कोड पहली संपत्ति को मैप करने का प्रयास कर रहा हूं। कोड पहली बार इसे एसक्यूएल में एक समय (7) के रूप में बना रहा प्रतीत होता है। हालांकि .NET में टाइमस्पेन 24 घंटे से अधिक अवधि को संभाल सकता है और मुझे ईवेंट की लंबाई के लिए 24 घंटे से अधिक समय तक स्टोर करने की आवश्यकता है। कोड फर्स्ट के साथ इसे संभालने का सबसे अच्छा तरीका क्या है।मैं एसक्यूएल सर्वर कोड को 24 घंटे से अधिक समय के साथ टाइमस्पेन कैसे मैप करूं?
उत्तर
कैसे एसक्यूएल में TimeSpan स्टोर करने के लिए पर मेरे previous question के अनुसार, मैं सेकंड या टिकट के रूप में यह स्टोर करने के लिए सलाह दी गई थी आदि। अंत में मैंने टाइमस्पेन कॉलम को मैप नहीं किया क्योंकि SQL सर्वर में कोई समकक्ष नहीं है। मैंने बस एक दूसरा क्षेत्र बनाया जिसने टाइमस्पेन को टिक्स में परिवर्तित कर दिया और डीबी में संग्रहीत किया। मैं तो TimeSpan भंडारण
public Int64 ValidityPeriodTicks { get; set; }
[NotMapped]
public TimeSpan ValidityPeriod
{
get { return TimeSpan.FromTicks(ValidityPeriodTicks); }
set { ValidityPeriodTicks = value.Ticks; }
}
सबसे पहले, एमवीसी के पास इस मुद्दे से कोई लेना देना नहीं है। यह ईएफ कोड फर्स्ट और एसक्यूएल सर्वर से पूरी तरह से संबंधित है, इसलिए यह एक डीएएल मामला है।
एक समाधान इस तरह से अपनी इकाई विन्यास में कोई कस्टम स्तंभ प्रकार प्रदान करने के लिए, हो सकता है:
modelBuilder
.Entity<MyClass>()
.Property(c => c.MyTimeSpan)
.HasColumnType("whatever sql type you want to use");
ठीक है। यह वही एसक्यूएल प्रकार है जिसका आप उपयोग करना चाहते हैं, मुझे इसकी परवाह है। SQL सर्वर फ़ील्ड में .Net TimeSpan को मैप करने का मानक तरीका क्या है। – GraemeMiller
मैंने सोचा कि यह काफी स्पष्ट था। HasColumnType विधि के स्ट्रिंग पैरामीटर में आपके SQL प्रकार को शामिल होना चाहिए क्योंकि आप इसे एक एसक्यूएल स्क्रिप्ट या टेबल डिज़ाइनर में घोषित करेंगे, जैसे nvarchar (50) या बिट या जो भी आपको चाहिए और नेट डेटा प्रकार के अनुकूल है जो आप उपयोग कर रहे हैं । अपने विशिष्ट मामले में उपयोग करने के लिए सटीक प्रकार क्या है, बस प्रयोग करें। –
मुझे पता था कि कॉलम प्रकार को कैसे बदला जाए, यह मुद्दा नहीं है। ऐसा लगता है कि एसक्यूएल के लिए नेट टाइमस्पैन मैपिंग एक उचित आम समस्या है। मैं विशेष रूप से जानना चाहता था कि एसक्यूएल सर्वर पर नेट टाइमस्पैन को संग्रहीत करने का सबसे अच्छा तरीका क्या है। – GraemeMiller
जहाँ तक मुझे पता के रूप में वहाँ नेट के TimeSpan के लिए एसक्यूएल सर्वर में कोई समकक्ष डेटा प्रकार है रोका। निकटतम मैच समय है, लेकिन, जैसा कि आपने बताया है, यह केवल 24 घंटों तक मूल्यों का समर्थन करता है? http://msdn.microsoft.com/en-us/library/ms186724.aspx#DateandTimeDataTypes।
निम्नलिखित एमएसडीएन दस्तावेज़ इस http://msdn.microsoft.com/en-us/library/bb386909.aspx का वर्णन करता है। मुझे लगता है कि चूंकि वहां कोई समाधान सूचीबद्ध नहीं है, इसलिए यह वर्तमान में संभव नहीं है।
हाँ, मैंने कभी भी अपने जवाब से अलग नहीं पाया। ईएफ बस SQL सर्वर समय डेटा प्रकार पर मैप करने का अजीब निर्णय लेता है जो स्पष्ट रूप से एक मेल नहीं है – GraemeMiller
- 1. टाइमस्पेन से 24 घंटे से अधिक घंटे के साथ स्ट्रिंग का विश्लेषण कैसे करें?
- 2. 24 घंटे के साथ NSDateFormatter
- 3. 12 घंटे से 24 घंटे समय में कनवर्ट करें
- 4. पाइथन में 24 घंटे से अधिक समय के मूल्यों से कैसे निपटें?
- 5. मैं 24 घंटे का समय 12 घंटे के समय में कैसे परिवर्तित कर सकता हूं?
- 6. डेटटाइम को 24 घंटे के समय में कैसे प्रारूपित करें?
- 7. jquery datetimepicker 24 घंटे का समय प्रारूप
- 8. आईफ़ोन 24-घंटे की समय सेटिंग
- 9. वैकल्पिक समय के साथ टाइमस्पेन प्रारूपस्ट्रिंग
- 10. PHP 24 घंटे के समय प्रारूप को सत्यापित करने
- 11. मैं 24-48 घंटे पहले से MySQL पंक्तियां कैसे प्राप्त करूं?
- 12. जावास्क्रिप्ट रिश्तेदार समय 24 घंटे पहले आदि समय
- 13. कैसे करें: सर्वर में हर 24 घंटे कोड के ब्लॉक को निष्पादित करना?
- 14. 24 घंटे से ऊपर एक्सेल में समय का प्रतिनिधित्व
- 15. टाइमपिकरडियलॉग को 24 घंटे कैसे सेट करें?
- 16. प्रत्येक 24 घंटे
- 17. डेटटाइम से घंटा? 24 घंटे प्रारूप में
- 18. मैं php में यूनिक्स टाइमस्टैंप में 24 घंटे कैसे जोड़ूं?
- 19. आप पीएचपी में 12 घंटे के समय और 24 घंटे के बीच कैसे परिवर्तित करते हैं?
- 20. मैं PHP में 24 घंटे की घड़ी के समय में 12 घंटे की घड़ी का समय कैसे बदलूं?
- 21. कन्वर्ट 24 से 12 घंटे समय घंटे प्लस AM/PM संकेत Oracle SQL
- 22. टाइमस्पेन पार्सिंग के लिए चारों ओर काम करें 24:00
- 23. मैं डेटेड एसक्यूएल में घंटे, मिनट, सेकेंड कैसे जोड़ूं?
- 24. समय समाप्त जब मैं एफई के साथ एसक्यूएल सर्वर 2008
- 25. 24 घंटे की घड़ी डेटफॉर्मेट एंड्रॉइड
- 26. डेटटाइम। पर्सएक्सएक्ट() 24 घंटे के समय के मूल्यों को कम नहीं करता है?
- 27. टाइमस्पेन
- 28. कैसे करें कोशिश करें एक स्ट्रिंग को केवल 24-घंटे के साथ रखें?
- 29. MySQL: पिछले 24 घंटों के लिए घंटे के अनुसार रिकॉर्ड्स,
- 30. अंतिम 24 घंटे का जॉब रिकॉर्ड फॉर्म प्राप्त करें msdb.dbo.sysjobhistory
यह दृष्टिकोण उप-संबंधी प्रश्नों का कारण बन सकता है जब कोई व्यक्ति नहीं जानता या भूल जाता है कि वैधता अवधि नहीं है। यदि इसका उपयोग LINQ में किया जाता है जहां क्वेरी EF शिकायत नहीं करेगी, तो यह केवल संग्रह को खींच लेगी और इसके ऊपर पुनरावृत्ति होगी। इस कारण से कोई पुरानी फैशन का उपयोग कर सकता है ताकि यह सुनिश्चित किया जा सके कि उन्हें प्रश्नों में उपयोग नहीं किया जाना चाहिए। – StanislawSwierc
सहमत हुए, मैंने अपने समाधान में अपना कोड समायोजित किया है ताकि कार्यान्वयन स्पष्ट हो। – GraemeMiller
मूल्य प्राप्त करने या सेट करने के लिए एक्सटेंशन विधियों का उपयोग करें, और कम गलतफहमी होनी चाहिए। – deerchao