多対多の関係のモデルがあります。Entity Framework 4.1:コレクション内に同じオブジェクトを持つ多対多
私はobject1
とobject2
エンティティも持っています。 Object1にはICollection<Object2>
プロパティがあります。 Object2はICollection<Object1>
です。
問題は、Object1が同じキー(Id)で複数のObject2を持つ可能性があることです。 ICollection<Object2>
に{Id=1, Id=2, Id=1, Id=3... etc}
のオブジェクトがある可能性があります。 次にSaveChangesを呼び出すのは{Id=1, Id=2, Id=3}
で、データベースに保存されます。 Object1インスタンスの多くの同じオブジェクトを多対多の関係で保存するにはどうすればよいですか?
同じエンティティの複数のオブジェクトに対して同じIDを持つ方法を教えてください。キーはオブジェクトごとに一意でなければなりません。 –
なぜですか?たとえば、私は自分のプロパティコレクションに複数のオブジェクトのコピーを持っています。 (たとえば、メニュー注文を想像してください。メニュー項目があり、注文があります.2つのステーク(メニュー項目 'ステーク')を1注文に注文することができます。 – DolceVita
そうですね。しかし、私はあなたがまだ2つのステークスを区別するために別のIDを持っているべきだと思います。だからあなたは2つのIDを持っています。 1つのユニーク(ItemId)と1つのユニーク(ItemTypeID)。それは、あなたが追跡して保存するのを容易にします。 –