को संभालने में मैंने एसओ पर इसके कई सारे संस्करण देखे हैं, लेकिन उनमें से कोई भी मेरी ज़रूरतों के लिए काफी काम नहीं कर रहा है।डेटटाइम डीबीएनयूएल
मेरा डेटा एक विक्रेता डेटाबेस से आता है जो डेटटाइम फ़ील्ड के लिए शून्य की अनुमति देता है। सबसे पहले मैं अपने डेटा को डेटाटेबल में खींचता हूं।
using (SqlCommand cmd = new SqlCommand(sb.ToString(), conn))
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
मैं प्रोसेसिंग के लिए डेटाटेबल को सूची <> में परिवर्तित कर रहा हूं।
var equipment = from i in dt.AsEnumerable()
select new Equipment()
{
Id = i.Field<string>("ID"),
BeginDate = i.Field<DateTime>("BeginDate"),
EndDate = i.Field<DateTime>("EndDate"),
EstimatedLife = i.Field<double>("EstimatedLife")
}
तो, मैं इस उदाहरण में डीबीएनयूएल की जांच कैसे करूं? मैंने एक विधि लिखने की कोशिश की।
public DateTime CheckDBNull(object dateTime)
{
if (dateTime == DBNull.Value)
return DateTime.MinValue;
else
return (DateTime)dateTime;
}
तो 'दिनांक समय के रूप में' DateTime' क्षेत्रों को परिभाषित ' –
यदि यह के लिए एक वैध व्यापार के मामले है आपके उपकरण शुरू या समाप्ति तिथि नहीं है तो हाँ। अन्यथा आपकी डीबी परत को अपवाद फेंकना चाहिए। –
हाँ - यह 'Nullable' के लिए शॉर्टकट है –