Orders、Items、および OrderItems エンティティがあり、Orders と Items テーブルの間に n:n の関係があります。マッピングに Fluent Hibernate を使用しています。「Order」エンティティには、「保護セット」を持つ「List」プロパティがあります。挿入中に以下の問題に直面しています。
new Order.Items.Add(alreadyexistingitem);
orderitems テーブルの既存のアイテムであるため、新しい orderid と既存のアイテム ID を使用してレコードを orderitems テーブルに挿入する必要があります。ただし、連想テーブルではなく、注文テーブルに挿入されるのは新しい注文の詳細のみです。
注文エンティティの「アイテム」バッグに「反転」属性が設定されています。そのため、以下のようにアイテムを追加しながら、新しく追加された注文を添付する必要がありますが、保護セット付きのリストオブジェクトであるため、どうすればよいですか。
Orders.Items.Add(alreadyexistingitem, *order = "neworder"*);
以下はマッピングです。
model.Override<Order>(m =>
{
m.HasManyToMany(c => c.Items)
.Table(Constants.TABLE_PREFIX + "OrderItem")
.Inverse()
.Cascade.AllDeleteOrphan();
});
model.Override<Item>(m => m.HasManyToMany(c => c.Orders)
.Table(Constants.TABLE_PREFIX + "OrderItem")
.Cascade.None());