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

Responder a