存儲日期每當我試圖創建一個新用戶的CreateAsync拋出一個異常,其中的InnerException是: "The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated."
此錯誤打開了超過100個類似的查詢,但大多比較據我所知,與我的情況相關的是老的和沒有的。 中的SQLExpress數據庫的字段定義爲無法在身份DB asp.net核心和EF
[DOB] [datetime] NULL,
起初我試圖存儲在「ApplicationUser」模式有效的20世紀的日期。該字段在模型中定義:
[Required)]
public DateTime DOB { get; set; }
我讀了這個問題的原因,許多文章和無法找到一個解決方案,因此要想繼續發展,我決定只是忽略它暫時和將該字段設置爲空並繼續。所以我改變了定義ApplicationUser
到
[Column("DOB",TypeName = "datetime")]
public Nullable<DateTime> DOB { get; set; }
,並在控制器將其設置爲null
硬編碼的值忽略所提供的值。但問題依然存在。問題可能是什麼?
任何幫助非常感謝。
您是否嘗試過流利的api? –
我不確定你的意思。除了在Startup中配置服務以使用SQL和Identity之外,我創建的唯一其他東西是'ApplicationUser',它擴展了'IdentityUser'。其他的一切都由UserManager管理。我確實想知道Identity使用EF的定義文件在哪裏,但我認爲所有這些都是自動發生的。我應該直接指出'ApplicationUser'的字段存儲在數據庫中的位置嗎?除了這個日期之外,它似乎已經很好地完成了所有這一切。 –
我的意思是,如果你試圖用你的實體爲身份DbContext添加配置並且流利的api –