使用SQL Server 2008和SQL Server 2005以及日期時間

datetime datetime2 entity-framework sql-server-2005 sql-server-2008

我已經針對2008數據庫構建了一個實體框架模型。一切都適用於2008數據庫。當我嘗試更新2005數據庫上的實體時,我收到此錯誤。

The version of SQL Server in use does not support datatype 'datetime2

我在構建數據庫時沒有使用任何2008功能。我在代碼中找不到對datetime2的任何引用。並且,是的,該列在數據庫中被定義為“datetime”。

一般承認的答案

快速谷歌指出我看起來像解決方案

在文件編輯器中打開EDMX(或在Visual Studio中“打開”,然後選擇“XML編輯器”)。在頂部,您將找到存儲模型,它具有屬性ProviderManifestToken。這應該具有值2008.將其更改為2005,重新編譯,一切正常。

注意:每次從數據庫更新模型時都必須執行此操作。


熱門答案

快速查看線:

<Schema Namespace="Foobar.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" >


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因