У меня возникают проблемы при обновлении дочернего объекта, когда у объекта есть ссылка на несуществующую дочернюю запись.
например.
Столы Car и CarColor имеют отношения. Car.CarColorId >> CarColor.CarColorId
Если я загружу машину с ее цветной записью, вот так
var result = from x in database.Car.Include("CarColor")
where x.CarId = 5
select x;
Я верну объект "Автомобиль" и его объект "Цвет". Теперь предположим, что некоторое время назад CarColor был удален, но рассматриваемая запись Car по-прежнему содержит значение CarColorId. Поэтому, когда я запускаю запрос, объект Color становится пустым, потому что запись CarColor не существует.
Моя проблема здесь в том, что когда я прикрепляю другой существующий объект Color, я получаю обновление Store, вставляю ошибку при сохранении.
Car.Color = newColor
Database.SaveChanges();
Это похоже на то, что контекст пытается удалить несуществующий цвет.
Как я могу обойти это?