这是我的代码:
UVCUpdate update = new UVCUpdate();
update.CurrentDate = DateTime.Now;
_context.UVCUpdates.Add(update);
_context.SaveChanges();
现在,虽然这样说,但我得到了一个内在的例外:
Cannot insert the value NULL into column ‘CurrentDate’, table ‘bLinked.dbo.BlackbookUpdateUVC’; column does not allow nulls. INSERT fails.
如果我在此代码之前输出DateTime.Now,则输出:
9/15/2016 7:26:35 PM
我在db中将CurrentDate的数据类型设置为datetime,在类中将其设置为DateTime.既不允许空值,但DateTime.Now不应该为空吗?
最佳答案 当EF模型和数据库之间所谓的“存储生成模式”不匹配时,几乎总会发生这种情况.如果model列具有存储生成的Identity或Computed模式 – 这意味着EF将确保数据库在插入或更新时自动提供这些值,并且不需要将它们包含在INSERT或UPDATE语句中.缺少值将具有默认的NULL值,并且如果此列在数据库中同时不可为空,并且实际上没有计算或标识 – 则会出现错误.