構造:TypeAにはTypeBのコレクションがあり、TypeBにはTypeCのコレクションがあります。
TypeBとTypeCは多対多です。
TypeAマップ
HasMany<TypeB>(t => t.TypeBList).CascadeAll().Inverse()..
TypeBマップ
HasManyToMany<TypeC>(t => t.TypeCList).Casecade.All().Inverse()..
TypeCマップ
HasManyToMany<TypeB>(t => t.TypeBList).Casecade.None()...
TypeBには次の方法があります
Add(TypeC typec) { typec.TypeBList.Add(this); TypeBList.Add(typec); }
また、typebコレクションに新しいtypecを追加する必要がありますが、repo.Save(typeA)を呼び出して保存したいのですが、TypeBがTypeAとTypeCの両方に存在するため、共有コレクションの問題が発生します。
var typec = new TypeC { TypeBList = typea.TypeBList, .... }
typea.TypeBList[0].Add(typec);
repo.save(typea);
typeaを保存してもこれは機能しませんか?typebを取得して、そこで変更を加える必要がありますか?