1
我有以下模型實體:保存一個DateTime到代碼優先生成的數據庫異常
public class ScheduledTask
{
public virtual int ScheduledTaskId { get; set; }
public virtual Incident TemplateIncident { get; set; }
//Some props are omitted for simplicity
[Display(Name = "Next runtime")]
[Required]
[DataType(DataType.DateTime)]
public virtual DateTime NextExecuteAfterDate { get; set; }
}
它是一個DataContext的一部分作爲:在溶液
public DbSet<ScheduledTask> ScheduledTasks { get; set; }
的UI是一個MVC3網站。
每當用戶保存記錄,可調度任務被一起保存:
_db.Add(new ScheduledTask
{
NextExecuteAfterDate = DateTime.MinValue,
Schedule = scheduleTypeId,
TemplateIncident = incident
});
_db.SaveChanges();
正如你所看到的,我創造我的實體類的實例,分配DateTime
屬性的最小值和將其添加到DbContext
。然後我打電話給SaveChanges()
。
SaveChages()
生成
[SqlException (0x80131904): The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.]
在數據庫中的NextExecuteAfterDate
是一種類型datetime, not null
的列。
從哪裏來的datetime2,以及如何解決問題,並獲得EF添加一行到表?
是的,我是不知道的一個事實,即淨的DateTime.MinValue不SQLDATETIME一起玩。 – 2012-01-27 22:01:15