pues ya deja hacer el add ahora lo que no hace es obtener el dato de la matricula
On 4 feb, 00:14, Gustavo Ringel <[email protected]> wrote: > en el constructor de Alumno hace Contabilidad = new List<Contabilidad>() y > entonces podes hacer Add() sin que te patee. > > Gustavo. > > 2011/2/4 xhino <[email protected]> > > > > > > > > > Que tal people > > > traigo uno de tantos lios... > > > segun he leido es casi sino que es obligatorio que el ID tiene que ser > > generado obligatoriamente por NH en el mapeo de la clase > > > y digo esto porque al momento de hacer la relacion por medio de > > IList<>, y tratar de guardar me sale un error de null, o de que un > > entero o string no se puede convertir en IList<> > > > es por ello que recurro a ustedes, les platico la logica del asunto. > > > tengo 2 tablas: Alumno y Contabilidad > > > La tabla Alumno, es una tabla precargada de un archivo excel, los > > datos aqui no se incrementaran ya que es de solo lectura, para > > realizar consulta, la tabla contiene los siguientes campos > > > Matricula <-- campo clave > > Paterno > > Materno > > Nombre > > > La tabla Contabilidad, es una tabla donde se capturaran los datos > > contables de un Alumno, tales como > > > NoCuenta <-- campo clave > > NoJE > > Hora > > Importe > > MatriculaAlumno <-- campo que se conecta con la tabla Alumno / en el > > campo Matricula > > > la clase Alumno queda de esta manera > > > 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; ) > > > el archivo Alumno.hbm.xml queda asi > > <class name="Alumno"> > > <id name="Matricula" /> > > <property name="Paterno" /> > > <property name="Materno" /> > > <property name="Name" /> > > <bag name="Contabilidad"> > > <key column="MatriculaAlumno" /> > > <one-to-many class="Contabilidad" /> > > </bag> > > </class> > > > la clase Contabilidad queda asi > > public virtual int NoCuenta ( get; set; ) > > public virtual int NoJE ( get; set; ) > > public virtual int Hora ( get; set; ) > > public virtual int Importe ( get; set; ) > > public virtual IList<Alumno> MatriculaAlumno ( get; set; ) > > > <class name="Contabilidad"> > > <id name="NoCuenta" /> > > <property name="NoJE" /> > > <property name="Hora" /> > > <property name="Importe" /> > > <many-to-one class="Alumno" Column="MatriculaAlumno" /> > > </bag> > > </class> > > > Cabe mencionar que tanto las clases como los xml los tengo bien > > desarrollados, ahorita tal ves omiti datos, porque los estoy > > escribiendo a patin > > > omitiendo los datos de conexion - repositorios y demas, que tambien > > estan bien, ya que si logro que guarde en una tabla, solo trato de > > simplificar para que vean mi dolor de cabeza > > > en la winform estoy capturando los datos de esta manera > > > Alumno alu = new Alumno(); > > alu.Matricula = "1"; > > alu.Paterno = "fulano"; > > alu.Materno = "mengano"; > > alu.Nombre = "sultano"; > > > Contabilidad cta = new Contabilidad(); > > cta.NoCuenta = 23456789; > > cta.NoJE = 4567890; > > cta.Hora = 20; > > cta.Importe = 4599; > > > alu.Contabilidad.add(cta); <--- esta linea es la que me causa el > > problema > > > trate de cambiar la manera de capturar la Matricula directamente de > > esta manera > > cta.MatriculaAlumno = alu.Matricula > > o de esta otra > > cta.Matricula = "1"; > > pero el error es el mismo > > > se de antemano que todo funcionaria bien si los ID de ambas tablas las > > generara automaticamente por NH, pero como les dije me es imposible ya > > que la tabla alumno contiene sus datos precargados y a fin de cuentas > > la tabla dominante debe ser Alumno > > > Cualquier dato me sera de gran ayuda, excepto el de que renuncie a mi > > vida como programador... me niego xD > > > De hecho esta necedad de usar NH es porke kiero aprender, nada me > > costaria terminar todo de la vieja forma, pero no me gusta > > > -- > > 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
