7

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

例如,父类映射如下:

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列不存在作为我可以写入的属性。

我错过了什么吗?

4

1 回答 1

6

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

于 2010-11-25T13:19:04.777 回答