В моей модели у меня есть похожие таблицы:
Persons (ID-NAME)
например (1-Пол - 2-Фрэнк - 3-Джордж)
Roles (ID-NAME)
например (1-админ - 2-разработчик - 3-младший)
Persons_Roles (ID_PERSON Not Null
- ID_ROLE не нулевой, например (1-1 - 1-2 - 2-3 - 2-1 - 3-2)
Таблица Persons_Roles
имеет внешний ключ для таблиц Persons
и Roles
.
Мне нужно удалить роль. Я на самом деле
Persons oP = DbContext.Persons.Single(p=>p.ID == 1);
Persons_Roles oR = oP.Persons_Roles.Single(p=>p.ID_ROLE == 2);
oP.Persons_Roles.Remove(oR);
DbContext.SaveChanges();
Но я получаю эту ошибку
Операция завершилась неудачно: отношение не может быть изменено, поскольку одно или несколько свойств внешнего ключа не могут быть равны нулю. Когда в отношение вносится изменение, для соответствующего свойства внешнего ключа устанавливается нулевое значение. Если внешний ключ не поддерживает нулевые значения, необходимо определить новое отношение, свойству внешнего ключа должно быть присвоено другое ненулевое значение или несвязанный объект должен быть удален.
Почему я получаю эту ошибку и что мне делать, чтобы ее исправить?