Sencillo en la colección pon lazy=false y listo. El problema es que por defecto tu colección es lazy y en el momento que la necesitas tu ya cerraste la sesión.
Saludos Néstor Rodríguez Sent from my iPhone On 25/10/2012, at 7:12, Bernardo Budnik <[email protected]> wrote: Buenas, tengo algunas inconvenientes con las sesiones y el lazy load en una aplicacion winForn en vs2012express, nHibernate 3.3 y SQLCompact Edition. Cree 2 clases sencillas, "Categoria" y "SubCategoria", Categoria tiene una lista de SubCategorias, cuando busco una instancia de Categoria, trae sin problemas, pero cuando quiero acceder a la lista de SubCategorias de la instancia me da el siguiente error: "*Información adicional: Initializing[MiniVentasClass.Entities.Categoria#1]-failed to lazily initialize a collection of role: MiniVentasClass.Entities.Categoria.Subcategorias, no session or session was closed*" *Definición de Clases:* public class Categoria { public virtual Single Id {get;set;} public virtual string Descripcion { get; set; } public virtual IList<SubCategoria> Subcategorias { get; set; } } public class SubCategoria { public virtual Single Id { get; set; } public virtual Categoria Categoria { get; set; } public virtual string Descripcion { get; set; } } *Así manejo la sesión:* public class nHibernateManager { private static ISessionFactory _sessionFactory; private static ISessionFactory SessionFactory { get { if(_sessionFactory == null) { var configuration = new Configuration(); configuration.Configure("Config.xml"); configuration.AddAssembly("MiniVentasClass"); _sessionFactory = configuration.BuildSessionFactory(); } return _sessionFactory; } } public static ISession OpenSession() { return SessionFactory.OpenSession(); } } *El mapeo:* *Categoria* <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MiniVentasClass" namespace="MiniVentasClass.Entities" default-lazy="true"> <class name="Categoria"> <id name="Id" type="int" unsaved-value="0" generator="native"/> <property name="Descripcion" type="string" length="30"/> <bag name="Subcategorias"> <key column="IdCategoria"/> <one-to-many class="SubCategoria"/> </bag> </class> </hibernate-mapping> *SubCategoria* <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MiniVentasClass" namespace="MiniVentasClass.Entities" default-lazy="true"> <class name="SubCategoria"> <id name="Id" type="int" unsaved-value="0" generator="native"/> <many-to-one name="Categoria" class="Categoria" column="IdCategoria"/> <property name="Descripcion" type="string" length="30"/> </class> </hibernate-mapping> Les agradecería me den una mano, hace poco empece con nHibernate y no se como solucionarlo. -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
