2014-02-18 55 views
1

我已經開始使用實體框架和做研究後,我發現,實體框架只接受DateTime格式DATETIME2。日期時間到DATETIME2

什麼是一個DateTime選取器轉換爲DATETIME2

我目前做的格式的最好方法如下

string strCastFrom = this.dtCastFrom.Value.Year.ToString("0000") + "-" + this.dtCastFrom.Value.Month.ToString("00") + "-" + this.dtCastFrom.Value.Day.ToString("00") + "T00:00:00"; 

是therea更好的方式爲datetime轉換爲DATETIME2?

回答

4

不要執行任何字符串轉換。只需使用

DateTime value = dtCastFrom.Value; 

讓實體框架本身負責將數據獲取到數據庫。你不希望一個字符串表示,並沒有任何理由通過字符串表示去。這不僅僅是EF的情況,這是一個普遍的原則。

+0

當我這樣做時,我得到一個錯誤。「將datetime2數據類型轉換爲日期時間數據類型導致超出範圍值。\ r \ n聲明已終止。 – Inkey

+0

@Inkey:在什麼情況下點?當錯誤發生時你在做什麼 - 提取,插入其他東西?什麼是值?你的SQL模式是什麼樣子的?你真的沒有給我們足夠的信息。 –

+0

它發生在那裏我做了。調用SaveChanges(); – Inkey

相關問題