nHibernate逆映射

时间:2011-07-19 06:50:47

标签: nhibernate nhibernate-mapping fluent

我有一个对象(对象A),它包含一个对象B的集合。我有我的映射类(流畅)设置,所有工作,问题是在尝试保存时。我想执行一次保存调用,然后还要保存所有对象B.同样,除了在保存对象A之后nHibernate没有在对象B上分配外键变量之外,这是有效的。

我相信在这种情况下使用逆(?)但它似乎对我不起作用。对象A具有集合的映射:

HasMany(x => x.Responses)
            .Inverse()
            .KeyColumn("[ParentID]")
            .Not.LazyLoad()
            .Cascade.All()
            .AsBag();

对象B引用对象A:

References(x => x.Entry, "[ParentID]")
            .LazyLoad()
            .Cascade.None();

我认为Inverse将在对象B侧,但References不包含Inverse函数。

思想?

干杯

2 个答案:

答案 0 :(得分:0)

我认为将对象B添加到对象A的集合中存在问题 看这里http://eashi.wordpress.com/2008/08/22/nhibernate-inverse-attribute/

答案 1 :(得分:0)

我用来在父类上创建AddChild方法,如下所示:

public class Parent
{
     public void AddChild(Child child)
     {
         child.Parent=this;
         this.ChildrenCollection.Add(child);
     } 
...