Связь не может быть изменена, потому что одно или несколько свойств внешнего ключа не допускают значения NULL

Я получаю эту ошибку, когда я GetById () для объекта, а затем устанавливаю коллекцию дочерних объектов в мой новый список, который поступает из представления MVC.

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

Я не совсем понимаю эту строку:

Связь не может быть изменена потому что один или несколько внешних ключей properties не допускает значения NULL.

Зачем мне менять отношения между двумя объектами? Он должен оставаться неизменным на протяжении всего времени существования всего приложения.

Код, в котором возникает исключение, - это простое присвоение измененных дочерних классов в коллекции существующему родительскому классу. Мы надеемся, что это позволит удалить дочерние классы, добавить новые и внести изменения. Я бы подумал, что Entity Framework справится с этим.

Строки кода можно разделить на:

var thisParent = _repo.GetById(1);
thisParent.ChildItems = modifiedParent.ChildItems();
_repo.Save();
179
задан Ladislav Mrnka 4 April 2011 в 08:50
поделиться