使用无状态会话批量插入包含其他实体集合(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
列不存在作为我可以写入的属性。
我错过了什么吗?
答案 0 :(得分:6)
您必须在子类中创建Parent
属性,或使用有状态会话。