問題: オブジェクト「注文」を dbcontext に追加すると、注文のネストされたすべてのオブジェクトがデータベースに「再追加」されますが、ネストされたオブジェクトは静的データであり、参照のみをデータベースに追加する必要があります。
例: データベースには 0 件の注文と 3 件のアイテムが保持されています。
2つの商品で1つの注文を追加します。
これで、データベースには 1 つの注文と 5 つのアイテムが保持されます。アイテムが db.SaveChanges() の前に正しい主キーを持っていたとしても、順序の 2 つのアイテムはデータベースに「再追加」されています。
変更を保存する前に、既存のアイテムを dbcontext にアタッチできる場合があることは理解していますが、それが本当に唯一の方法ですか? 主キーが既存のアイテムと一致する場合、EF は to アイテムが既に存在することを理解できませんか?
これがEF CodeFirstの新しいバージョンで異なるかどうかは誰にも分かりますか?