9

मैं अपने एएसपीएनटी एमवीसी एप्लिकेशन के साथ पहले ईएफ कोड का उपयोग कर रहा हूं।किसी डेटाटाइम 2 डेटा प्रकार का रूपांतरण पहले डेटा ईएफ कोड के साथ डेटाटाइम डेटा प्रकार त्रुटि में?

Request.RequestDate = DateTime.Now; 

RequestDate के प्रकार मेरी डेटाबेस में datetime है: यहाँ मेरी कोड है। और इस त्रुटि हुआ

एक datetime डेटा प्रकार के लिए एक datetime2 डेटा प्रकार के रूपांतरण जब मैं ऊपर कोड !: का उपयोग एक बाहर के रेंज मूल्य में हुई है।

कृपया मेरी मदद करें। धन्यवाद।

+0

[डेटा # डेटा प्रकार के डेटाटाइम डेटा प्रकार के रूपांतरण के संभावित डुप्लिकेट] (http://stackoverflow.com/questions/1331779/c-sharp-conversion-of-a-datetime2-data-type-to -ए-डेटाटाइम-डेटा-प्रकार) – CodeCaster

+0

क्या आप SQL 2005 का उपयोग कर रहे हैं? डेटाटाइम 2 रेंज 0001/01/01 से 99 99/12/31 तक त्रुटि है। यदि ऐसा है, तो आपको XML edmx फ़ाइल –

+0

@json jong संपादित करने की आवश्यकता होगी: मैं SQL Server 2008 का उपयोग कर रहा हूं और मेरे पास कोई .edmx फ़ाइल नहीं है क्योंकि मैं पहले कोड का उपयोग करता हूं! –

उत्तर

11

संपादित करें:

How to fix the datetime2 out-of-range conversion error using DbContext and SetInitializer?

मुद्दा यह है कि आप एक मूल्य है कि एक एसक्यूएल datetime कॉलम में फिट नहीं कर सकते को बचाने की कोशिश कर रहे हैं। उत्तर givin यहां रूपांतरण विफल होने से रोक देगा।

या अपने डेटाबेस में कॉलम को डेटाटाइम 2 टाइप करने के लिए बदलें। मैं वास्तव में नहीं जानता कि क्यों वे कोड पहले datetime कॉलम के बजाय datetime2

यहाँ की है एक उदाहरण पैदा कर रहा है स्पष्ट रूप से मेरी तरफ इसकी वजह था पर एसक्यूएल

Using DateTime properties in Code-First Entity Framework and SQL Server

+0

मैं पहले कोड का उपयोग कर रहा हूं और मेरे पास कोई .edmx फ़ाइल नहीं है। –

+0

मुझे लगता है कि आपको क्या करना है, यह निर्दिष्ट करें कि कॉलम टाइपटाइम प्रकार का है। क्या आपका कोड पहले डेटाबेस उत्पन्न करता था? आप डेटाटाइम कॉलम –

+0

में डेटाटाइम 2 ऑब्जेक्ट को स्टोर करने का प्रयास कर रहे हैं हां मेरा डेटाबेस पहले कोड के साथ सफलतापूर्वक उत्पन्न हुआ है और वह कॉलम डेटाटाइम प्रकार का है। –

5

में datetime2 करने के लिए अपने Datetime कॉलम मैप करने के लिए डेटाटाइम शून्य नहीं था और कुछ परिस्थितियों में क्षेत्र को कन्स्ट्रक्टर में शुरू नहीं किया गया था। मैं नल

public DateTime? MyDate { get; set; } 

एक अन्य समाधान कोई बात नहीं क्या निर्माता में क्षेत्र प्रारंभ करने में किया जाएगा के रूप में मेरे क्षेत्र की स्थापना करके इस हल किया।

+0

यह मेरे लिए हल हो गया। प्रतिबिंब पर त्रुटि संदेश बहुत अच्छा नहीं है। मैंने डेटटाइम कॉलम बनाया है, यह इसे किसी अन्य चीज़ में बदलने की कोशिश क्यों कर रहा है? क्यों न सिर्फ मुझे एक बाधा का उल्लंघन किया गया है ... – sarin

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