Я провел много исследований, но не нашел ответа, соответствующего моей проблеме. Я даже попытался использовать пример The relationship could not be changed because one or more of the foreign-key properties is non-nullable. Нет успеха.Нарушение множественности. Роль Child_Parent_Target отношения Child_Parent имеет множественность 1 или 0..1
Я работаю с Entity Framework 6 Code First (Fluent API), классами POCO.
У меня есть класс называется Родитель и класс под названием Child
Один родитель может иметь один или более Чайлдс (один ко многим отношений)
Таким образом, в моем классе ParentMapping я сделал:
HasMany(p => p.Childs).WithRequired(p => p.Parent).Map(m => m.MapKey("ParentId"));
и в моем классе ChildMapping я сделал:
HasRequired(p => p.Parent).WithMany(p => p.Childs).Map(m => m.MapKey("ParentId"));
я настойчив (в sert, Обновить и удалить) мой класс poco для детей, в то же время я сохраняю родительский класс. Поэтому каждый раз, когда я сохраняю родительский класс, у него есть один или несколько дочерних объектов в свой Childs. Таким образом, родительский объект отвечает за сохранение своих дочерних объектов.
Я следовал примеру выше (см. Ссылку), чтобы сохранить данные в базе данных.
я получаю сообщение ниже, когда я пытаюсь добавить новый ребенок к БД несуществующому Родителю, у которого уже есть один ребенок в базе данных, и вызовите db.SaveChanges:
Кратности ограничение нарушенного. Роль Child_Parent_Target отношения Child_Parent имеет множественность 1 или 0..1.
Может ли кто-нибудь мне помочь? Я борюсь с этим и не вижу света в конце туннеля.
Вы действительно должны показать код, в котором поднятый это исключение. –
@GertArnold Благодарю вас за ваш комментарий. Но я думаю, что я все ясно объяснил. Кстати, я ответил на вопрос, и я действительно предлагаю вам проверить это. С моей точки зрения, это очень поучительно. В любом случае, еще раз спасибо. –