Каскадные коллекции с использованием NHibernate StatelessSession

Как правильно массово вставлять сущности, которые содержат коллекции других сущностей (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 Столбец не существует как свойство, к которому я мог бы написать.

Я что-то пропустил?

1 ответ

Решение

Вы должны либо создать Parent свойство в дочернем классе, или используйте сеанс с состоянием.

Другие вопросы по тегам