2012-08-12 2 views
1

При удалении сущности, я получаю следующее сообщение об ошибке:Какая связь предотвращает удаление?

Операция не удалась: Отношения не могут быть изменены, потому что один или несколько внешних ключей свойств не является обнуляемым. При изменении в отношении связанное свойство внешнего ключа имеет значение , установленное на нулевое значение. Если внешний ключ не поддерживает нулевые значения, должно быть определено новое отношение, свойство внешнего ключа должно быть , которому присвоено другое ненулевое значение, или не связанный объект должен быть удален .

Ярмарка достаточно. Однако у меня много отношений, и я не знаю, какая из них вызывает ошибку.

Есть ли способ получить имя отношения, которое вызывает проблему?

ответ

2

Есть ли способ получить имя отношения, которое вызывает проблему?

К сожалению, без сложной разведки ObjectStateManager. Это довольно неприятная проблема, поскольку исключение является слишком общим без какой-либо дополнительной информации. Я думаю, что это хороший запрос на улучшение, и с EF as and open source действительно должно быть возможно улучшить качество исключения.

Вам придется пройти через код модификации и проверить объекты, которые вы пытаетесь удалить. Будет существовать связанный зависимый объект, который не удаляется и зависает удаление родительского объекта. Другим подходом, рекомендуемым для EF, является использование каскадных удалений.

Смежные вопросы