工作总结 EntityFramework中出现DateTime2异常的完美解决办法
生活随笔
收集整理的這篇文章主要介紹了
工作总结 EntityFramework中出现DateTime2异常的完美解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
EntityFramework中出現DateTime2異常的完美解決辦法
今天在使用entityframework往數據庫插入數據的時候,突然出現了一個數據類型轉換異常的問題:
System.Data.SqlClient.SqlException: 從 datetime2 數據類型到 datetime 數據類型的轉換產生一個超出范圍的值.
查了一下網上的資料,很多人給了原因與解決辦法:
C#中的DateTime類型比SqlServer中的datetime范圍大。SqlServer的datetime有效范圍是1753年1月1日到9999年12月31日,如果超出這個范圍,EF就會把datetime轉換為datetime2,但在數據庫的映射類型還是datetime類型,所以才會出現異常,
網上解決辦法:
1.將數據庫中的時間字段改成datetime2
2.修改ef的數據庫生成配置
3.傳時間在數據庫規定的范圍內的時間參數
但是個人覺得這幾種辦法都不是十分妥當,個人解決辦法:將model的時間類型設置為可空類型即可,例如?
public DateTime? CreatTime{get;set;}//或者 public Nullable<DateTime> CreateTime { get; set; }此方法可完美解決插入時間類型轉換報錯異常
總結
以上是生活随笔為你收集整理的工作总结 EntityFramework中出现DateTime2异常的完美解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文本挖掘预处理之TF-IDF
- 下一篇: iOS NSURLSession Dat