मैं का उपयोग कर रहा हूँ ASP.NET बॉयलरप्लेट MVC (नहीं मूल) टेम्पलेट में अपने परियोजना है, जो का उपयोग करता है EF6 के रूप में ORM. डेटाबेस है SQL सर्वर एक्सप्रेस ।
यहाँ मेरी इकाई वस्तु (अनदेखी गैर-संबंधित गुण):
public class Asset : AggregateRoot<long>
{
[DataType(DataType.DateTime)]
public DateTime? LastControlTime { get; set; }
}
जब मैं बनाने के लिए एक नए परिसंपत्ति, इस क्षेत्र उचित रूप से बनाया के रूप में अशक्त. तो, सब कुछ काम करता है के रूप में intented है । लेकिन जब मैं अद्यतन करने की कोशिश के साथ एक वस्तु के लिए एक सरल सेवा के लिए कॉल के लिए, यह शिकंजा ।
यहाँ की विधि के आवेदन में सेवा वर्ग:
public void ResetLastControlTime (EntityDto<long> input)
{
var asset = Repository.Get(input.Id);
asset.LastControlTime = default(DateTime?);
}
इस रीसेट करना चाहिए कि क्षेत्र के लिए नल. मैं भी करने की कोशिश की asset.LastControlTime = null;
. लेकिन अंत में यह लिखा है "0001-01-01 00:00:00.0000000" करने के लिए कि फ़ील्ड डेटाबेस में है । मैं स्थानों के बहुत सारे में कोड है कि मैं नियंत्रण के लिए एक नल मान तो अब मैं था करने के लिए परिवर्तन के टन के पुराने फाइल या मैं कुछ रास्ता खोजने के लिए रीसेट है कि क्षेत्र के लिए बस नल.
मैं इसी तरह के सवालों की जाँच की है, लेकिन एक जवाब नहीं मिल. उन सभी के बारे में बताता है nullable DateTime, जो मैं पहले से ही है. में SQL server तालिका स्कीमा डेटा प्रकार है datetime2(7)
, तो मुझे लगता है कि सही भी है । ओह, और हटाने डेटा प्रकार एनोटेशन भी कुछ भी नहीं बदला.
तो क्या हूँ मैं यहाँ याद आ रही? मुझे क्या करना चाहिए की जांच करने के लिए मुद्दा मिल?