質問: 私は多くの研究をしましたが、私の問題に合った答えは見つかりませんでした。私*は、1つ以上の外部キーのプロパティがnullでない*例である*ため* 、 *関係を変更できませんでした* 。失敗。 私はエンティティフレームワーク6コードファースト(Fluent API)、POCOクラスで作業しています。 私はParentというクラスとChildというクラスを持っています 1つの親は1つ以上のチャイルド(1対多の関係) だから、私の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")); ``` 私は、親クラスを永続させると同時に、子のpocoクラスを保持する(Insert、Update、Delete)。したがって、親クラスを保存するたびに、 *Childs*プロパティに1つ以上の子オブジェクトがあります。したがって、親オブジェクトはその子オブジェクトを永続化する責任があります。 上記の例(リンクを参照)に従って、データをデータベースに保存しました。 既にデータベースに子が1つ存在するdb existent Parentに新しい子を追加しようとすると、以下のメッセージが表示され、 *db.SaveChanges*を呼び出します。 **多重度制約に違反しました。関係Child_Parentの役割Child_Parent_Targetには、多重度1または0..1があります。** 誰でも助けてくれますか?私はこれに苦しんでいて、トンネルの終わりには光が見えません。
回答: 私はGraphDiff素晴らしいライブラリを使用して私の問題を解決することができました。親子が永続することについて話すとき、それは単に私たちのためにすべてを行います。 この投稿をチェックしてください: GraphDiff - 分離されたエンティティのグラフの自動更新を許可する