我剛剛部署的服務器代碼曾用於一週前的工作。導致錯誤的代碼部分沒有改變,但是對象本身沒有改變。EF6 datetime2轉換爲datetime導致超出範圍值
這是一個Model First方法(從Database First轉換而來),並且我已經爲該模型添加了兩個關聯字段和兩個新表。
引發錯誤的部分代碼是關鍵任務。它基本上通過設置時間戳來禁用該值的併發編輯。但由於某種原因,它不起作用。
的特定代碼:
user.AlertConcurrency = DateTime.UtcNow;
db.SaveChanges();
錯誤:
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value. The statement has been terminated.
現在,user.AlertConcurrency字段是在數據庫中的日期時間類型。我不明白爲什麼它甚至會嘗試在此處執行datetime到datetime2的轉換。我錯過了什麼?
這可能意味着* *另一個* DateTime屬性爲null,但在數據庫中不可爲空。 –
這是失敗的數據已保存在數據庫中?聽起來就像你有數據存儲爲'datetime2',它沒有'datetime'的vaild值。 – Charles
請問[這個問題]的答案(http://stackoverflow.com/q/1331779/215552)有幫助嗎? –