0

Я провел много исследований, но не нашел ответа, соответствующего моей проблеме. Я даже попытался использовать пример 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.

Может ли кто-нибудь мне помочь? Я борюсь с этим и не вижу света в конце туннеля.

+0

Вы действительно должны показать код, в котором поднятый это исключение. –

+1

@GertArnold Благодарю вас за ваш комментарий. Но я думаю, что я все ясно объяснил. Кстати, я ответил на вопрос, и я действительно предлагаю вам проверить это. С моей точки зрения, это очень поучительно. В любом случае, еще раз спасибо. –

ответ