У меня возникли проблемы с DbContext.SaveChanges();
У меня есть таблица CAR, в которой есть FK для таблицы ENGINE (свойство Engine имеет атрибут [Обязательный]).Также я реализовал общий репозиторий с методом обновления.
class Repo<T> where T : IArchivable{
...
public void update(T row){
row.Deleted = true; //Deleted is from interface IArchivable
ctx.SaveChange();
}
.....
public T Single(System.Linq.Expressions.Expression<Func<T, bool>> condition){
return ctx.Set<T>().where<T>(condition);
}
}
в случае:
....
Repo<CAR> r = new Repo<CAR>();
CAR car = r.Single(o => o.id == 1);
r.update(car);
Я получу ошибку «Проверка не удалась для одного или нескольких объектов. ...» Я проверил этои проблема в том, что свойство ENGINE требуется, но для
....
Repo<CAR> r = new Repo<CAR>();
CAR car = r.Single(o => o.id == 1);
car.Engine = car.Engine;
r.update(car);
оно будет работать.
Как это исправить?