【发布时间】:2015-09-27 13:01:45
【问题描述】:
我知道这个问题已在 StackOverflow 上被问过很多次,但似乎没有一个答案适合我的情况,或者他们只是告诉他们在他们的 DateTime 中允许 NULL 字段(我不想这样做) .
代码如下:
public async Task<int> CreateJobAsync(JobViewModel jvm)
{
Job j = new Job();
j.Name = jvm.Name;
j.UserId = jvm.UserId;
j.ClassDefinition = jvm.ClassDefinition;
j.DaysToRun = jvm.DaysToRun;
j.ToEmail = jvm.ToEmail;
j.Active = true;
j.CreatedDate = DateTime.Now;
j.ModifiedDate = DateTime.Now;
context.Jobs.Add(j);
var result = await context.SaveChangesAsync();
return result;
}
Job 类中的所有字段都是DateTime,数据库中的对象也是如此。日期值不是NULL。当我运行 Sql Profiler 时,它甚至没有显示进行了数据库调用。
await 调用时发生错误,它是:
将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围
这似乎是一个相当简单的示例,我确实需要将这些值设为not null。还有其他想法吗???
【问题讨论】:
标签: c# entity-framework datetime async-await