У меня есть логический столбец в моей базе данных с именем HasEvent
с ограничением not-null. Когда я пытаюсь добавить элемент в таблицу через запрос POST, а HasEvent
ложно, он преобразуется в null, и я получаю следующую ошибку:
Npg sql .PostgresException (0x80004005) : 23502: пустое значение в столбце «HasEvent» нарушает ограничение на ненулевое значение
Данные отображаются должным образом. Что могло случиться?
PS: Когда я пытаюсь обновить уже созданный элемент и установить для его значения HasEvent
значение false с помощью запроса PUT, я не получаю ошибки.
Вот мой код:
Сущность:
public class Period
{
public long Id { get; set; }
public DateTime InitialDate { get; set; }
public DateTime? FinalDate { get; set; }
public bool HasEvent { get; set; }
}
Контроллер:
[HttpPost]
public ActionResult<Period> Create(Period createPeriod)
{
if (ModelState.IsValid)
{
try
{
var period = Service.Post(createPeriod);
return Created("Created", period);
}
catch (Exception e)
{
return BadRequest(e);
}
}
return BadRequest();
}
Метод:
public Period Post(Period period)
{
PeriodsRepository.Create(period);
return period;
}
РЕДАКТИРОВАТЬ: Репозиторий:
public interface PeriodsRepository<TEntity> : IDisposable where TEntity : class, new()
{
IQueryable<TEntity> SelectAll { get; }
TEntity Select(long key);
void Create(params TEntity[] obj);
void Update(params TEntity[] obj);
void Delete(params TEntity[] obj);
}