我有一個使用實體框架和SQL Server 2008數據庫的MVC應用程序。我使用EF嚮導來生成我的數據模型。datetime2和ProviderManifestToken在實體框架
我有一個SQL Server表,標準DateTime
列。 EF型號使用System.DateTime
。
但是,當我嘗試插入一個新的記錄到從我的應用程序這個表,而不指定此DateTime列的值,我得到的錯誤:
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
我用Google搜索了一下,發現那人是編輯edmx並更改ProviderManifestToken
。有些時候會被覆蓋,那麼是否有更長久的修復方法或解決方法呢?
如果我沒有明確地爲一個實體屬性設置一個值,那麼EF不應該插入一個空值? – Blackcoil 2010-10-30 20:11:43
不,它將被設置爲.Net中的默認(DateTime)。請注意,DateTime是一個*值類型*,不能爲空,但是日期時間?能夠。在EF中有很多方法可以根據其用途自動填充此屬性(以及基本上任何實體的屬性)。 – 2010-10-30 20:28:29