1
我用Nhibernate創建了多對多的實現。目前我有下面的課程。在這兩個課程中,我實施了AddObjX(Objx obj)
方法將項目添加到集合中。Nhibernate多對多添加到兩邊
Obj1
{
int id;
Ilist<Obj2> obj2;
}
Obj2
{
int id;
Ilist<Obj1> obj1;
}
在映射我有
HasManyToMany(x => x.Obj1)
.Table("Obj1Obj2")
.ParentKeyColumn("Obj1Id")
.ChildKeyColumn("Obj2Id")
.Inverse()
.Cascade
.SaveUpdate();
HasManyToMany(x => x.Obj2)
.Table("Obj1Obj2")
.ParentKeyColumn("Obj2Id")
.ChildKeyColumn("Obj1Id")
.Inverse()
.Cascade
.SaveUpdate();
當我說現在
obj1.AddObj2(obj2);
Session.SaveOrUpdate(obj1);
我只得到OBJ1之間的關聯 - > obj2的。所以如果我檢索obj2,沒有obj1耦合到它。當我檢索obj1時,會有一個obj2與之結合。
當我做
obj1.AddObj2(obj2);
obj2.AddObj1(obj1);
Session.SaveOrUpdate(obj1);
我必須在這兩個場景中的對象。這是設計還是我錯過了什麼?