Si te fijas bien en las clases de ejemplo del libro nh3, verás que hay una relación explicita de ida y vuelta, es lo que parece te esta haciendo falta.
Ya tienes la ida, entre Alumno y Contabilidad, ahora falta el regreso Saludos Edgar El 28 de enero de 2011 15:14, xhino <[email protected]> escribió: > Que tal gente > > Si de nuevo yo el dummie xD > > traigo para ustedes dos consultas basicas por asi decirlo, estoy > leyendo el cookbook de nhibernate 3, hice el ejercicio y todo salio a > pedir de boca... pero extrañamente trato de hacerlo en mi ejemplo y > salen errores tras errores > > El Error es el siguiente: > > No se controló NHibernate.MappingException > Message="Association references unmapped class: > SAI.NH.BL.Contabilidad" > Source="NHibernate" > StackTrace: > en > > NHibernate.Cfg.XmlHbmBinding.CollectionBinder.BindCollectionSecondPass(XmlNode > node, Collection model, IDictionary`2 persistentClasses, IDictionary`2 > inheritedMetas) > en > > NHibernate.Cfg.XmlHbmBinding.CollectionBinder.<>c__DisplayClassd.<AddCollectionSecondPass>b__c(IDictionary`2 > persistentClasses) > en NHibernate.Cfg.Configuration.SecondPassCompile() > en NHibernate.Cfg.Configuration.BuildSessionFactory() > en SystemSAI.Form1..ctor() en C:\Documents and Settings > \augusto.ferriz\Mis documentos\Visual Studio 2008\Projects\SAI > \SystemSAI\Form1.cs:línea 19 > en SystemSAI.Program.Main() en C:\Documents and Settings > \augusto.ferriz\Mis documentos\Visual Studio 2008\Projects\SAI > \SystemSAI\Program.cs:línea 18 > en System.AppDomain._nExecuteAssembly(Assembly assembly, > String[] args) > en System.AppDomain.ExecuteAssembly(String assemblyFile, > Evidence assemblySecurity, String[] args) > en > Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() > en System.Threading.ThreadHelper.ThreadStart_Context(Object > state) > en System.Threading.ExecutionContext.Run(ExecutionContext > executionContext, ContextCallback callback, Object state) > en System.Threading.ThreadHelper.ThreadStart() > InnerException: > > > Para esto primero tengo una Clase Entidad, que maneja un ID tipo > guid.comb > > public abstract class Entidad > { > public virtual Guid Id { get; protected set; } > } > > y luego tengo 2 clases Alumno y Contabilidad que heredan el ID de > entidad: > > public class Alumno : Entidad > { > public virtual string Matricula {get; set; } > public virtual string Paterno {get; set; } > public virtual string Materno {get; set; } > public virtual string Nombre {get; set; } > public virtual IList<Contabilidad> Cuenta {get; set; } > } > > Este es su mapeo: > > <class name="Alumno"> > <id name="Id"> > <generator class="guid.comb" /> > </id> > <natural-id mutable="true"> > <property name="Matricula" not-null="true" /> > </natural-id> > <property name="Paterno" /> > <property name="Materno" /> > <property name="Nombre" /> > <bag name="Cuenta" cascade="all-delete-orphan"> <--- segun el > libro esto es lo unico que necesito hacer para que se haga > <key column="CuentaId" /> > la relacion entre las 2 clases... recuerden estoy usando NH3 > <one-to-many class="Contabilidad"/> > </bag> > </class> > > public class Contabilidad : Entidad > { > public int NoCuenta {get; set; } > public int JDE {get; set; } > public int Hora {get; set; } > public int Importe {get; set; } > } > > Este es su mapeo: > > <class name="Contabilidad"> > <id name="Id"> > <generator class="guid.comb" /> > </id> > <natural-id mutable="true"> > <property name="NoCuenta" not-null="true" /> > </natural-id> > <property name="JDE" /> > <property name="Hora" /> > <property name="Importe" /> > </class> > > > La segunda duda que tengo es que no quiero que mi archivo sea un > cochinero de archivos clases y xml, trate de ponerlos en carpetas, > pero por alguna extraña razon me dice que no puede cargar un objeto > prque no cuenta con persistencia, curioso porque si los pongo todos > juntos si funciona... > > Saludos > > P.D. Ya tome cafe y revise el notepad xD > > -- > 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
