Как исправить EntityFrameworkCore.DbUpdateException? - PullRequest
1 голос
/ 03 октября 2019

Я пытаюсь обновить запись, используя EF, но получаю следующее исключение:

Внутреннее исключение 1: SqlException: Невозможно вставить значение NULL в столбец «UpdateDate», таблица «PAS_DEV.dbo».RepairOrder ';столбец не допускает пустых значений. ОБНОВЛЕНИЕ не удается. Оператор был прерван.

UpdatedDate ia notNull в таблице базы данных. Я передаю значение 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);
}

Структура таблицы:

enter image description here

1 Ответ

0 голосов
/ 03 октября 2019

Вы пробовали:

if (actionobject != null)
{
    actionobject.UpdatedDate = DateTime.Now;
    _context.Entry(actionobject).State = EntityState.Modified;
    _context.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...