2010-11-25 23 views
6

¿Cuál es la forma correcta de insertar entidades a granel que contienen colecciones de otras entidades (una asignación HasMany), usando sesiones sin estado?Colecciones en cascada usando NHibernate StatelessSession

E.g. clase padre se asigna así:

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

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

sesión sin ignora la opción Cascade, por lo que los nodos secundarios no se conservan de forma automática. Pude iterar a través de la colección yo mismo, pero luego no puedo establecer la relación, porque la columna Parent_id no existe como una propiedad en la que podría escribir.

¿Echo de menos algo?

Respuesta

5

Debe crear la propiedad Parent en la clase secundaria o usar una sesión con estado.

Cuestiones relacionadas