使用NHibernate StatelessSession级联集合

时间:2010-11-25 11:45:33

标签: c# nhibernate fluent-nhibernate cascade stateless-session

使用无状态会话批量插入包含其他实体集合(HasMany映射)的实体的正确方法是什么?

E.g。父类映射如下:

class ParentMap : ClassMap<Parent>
{
    public ParentMap()
    {
        Id(x => x.Id)
           .GeneratedBy.Increment();

        HasMany(x => x.ChildNodes)
           .KeyColumns.Add("Parent_id")
           .Cascade.All();
    }  
}

无状态会话忽略Cascade选项,因此子节点不会自动保留。我可以自己遍历集合,但后来我无法设置关系,因为Parent_id列不存在作为我可以写入的属性。

我错过了什么吗?

1 个答案:

答案 0 :(得分:6)

您必须在子类中创建Parent属性,或使用有状态会话。