2

我正在尝试使用EF但出现以下异常来更新记录:

内部异常 1:SqlException:无法将值 NULL 插入列“UpdatedDate”、表“PAS_DEV.dbo.RepairOrder”;列不允许空值。更新失败。该语句已终止。

UpdatedDateianotNull在数据库表中。我正在传递dateTime.now值,所以我不确定为什么 EF 认为它为空。

代码:

public class RepairOrder:PasBase
{
    [Key]
    public long RepairOrderId { get; set; }
    public System.DateTime UpdatedDate { get; set; 
}

if (_context.RepairOrder.Any(o => o.RepairOrderId == poViewModel.RepairOrderId))
{
    var actionobject = _context.RepairOrder.Where(a => a.RepairOrderId == poViewModel.RepairOrderId).SingleOrDefault();
    actionobject.UpdatedDate = DateTime.Now;
    _context.RepairOrder.Update(actionobject);
    _context.SaveChanges();
    return Ok(actionobject);
}

表结构:

在此处输入图像描述

4

1 回答 1

0

你有没有尝试过:

if (actionobject != null)
{
    actionobject.UpdatedDate = DateTime.Now;
    _context.Entry(actionobject).State = EntityState.Modified;
    _context.SaveChanges();
于 2019-10-03T14:38:00.500 回答