я следующая модель:Entity Framework - как удалить связанные элементы
У меня есть объект сущность вакансии (ef_entity), заданная из БДА, которая уже имеет один связанные подкачки элемента (учитывая из БД тоже). Я просто хочу, чтобы удалить его:
if (ef_vacancy.Swaps != null)
ef_vacancy.Swaps.Clear();
, когда я хочу сделать SaveChanges я получаю сообщение об ошибке:
The operation failed: The relationship could not be changed because one or more of the foreign-key properties is non-nullable. When a change is made to a relationship, the related foreign-key property is set to a null value. If the foreign-key does not support null values, a new relationship must be defined, the foreign-key property must be assigned another non-null value, or the unrelated object must be deleted.
так, Entity Framework попытаться установить «нулевой» для Swap.VacancyID таблицы вместо Вытащите записей. Но я хочу удалить. Если я попытаюсь сделать следующее:
var swap_to_delete = (from i in _db.Swaps where i.VacancyID == ID.Value select i).FirstOrDefault();
if (swap_to_delete != null && _db.Entry(swap_to_delete).State != EntityState.Deleted)
_db.Swaps.Remove(swap_to_delete);
Иногда это работает, иногда нет работы! Я не понимал, почему это работает, почему бы и нет. Как это сделать легко?
Кроме того, вместо того, чтобы перенести этот ответ, нажмите на ссылку и подтвердите исходный ответ. – lucrativelucas