2009-06-23 79 views
0

我已經意識到smalldatetime sql server數據類型已經映射到我的實體項目中的日期時間。我都可以。當實體保存更改時,它實際上使用datetime2數據類型(目前我們的生產數據庫不支持)。現在,這是一個問題。實體框架日期時間數據類型映射

看着實體設計器代碼,我看到屬性使用VB的日期對象,雖然屬性窗口顯示它爲日期時間。

我不想更改實體代碼,因爲我不想從數據庫更新來覆蓋我的更改,從而導致代碼維護混亂。

datetime2從哪裏來的?有任何想法嗎?

在此先感謝您的幫助, 奧利

回答

4

好鄉親,即固定它。

因爲實體正在從sql 2008數據庫更新引用,所以ProviderManifestToken設置爲2008.在xml編輯器中打開edmx文件並將值更改爲2005修復了我們的問題。

+0

謝謝!這是一個階級痛苦的屁股找到解決方案。 – 2009-09-17 16:03:09

1

什麼是SSDL說財產是什麼?

打開EDMX文件最大使用XML編輯器(一個在VS不錯)

現在看在StorageModels元素有問題的列。

SSDL部分中屬性的「類型」是EntityFramework認爲數據庫列的類型。我懷疑它會說DateTime2。你應該能夠將它改回到像DateTime這樣的東西。

希望這有助於

亞歷

+0

嗨亞歷克斯, 感謝您的答覆。 顯示的類型是DateTime。生成的SQL使用datetime2。我們的開發數據庫(SQL 2008)支持它,但我們的產品尚未升級。它將在不久的將來,但我們希望手頭上的生產代碼(因此,問題)。 無論如何,我們試着改變清單文件來使用sql server 2005版本映射,而不是2008年。到目前爲止沒有成功。 – Orry 2009-06-23 15:48:57