1) cada vez que haces: RA.ObtenerAlumnoPorMatricula(txtAyuId.Text), estas
yendo a la DB a buscar la entidad. Deberías obtenerla y guardar una
referencia a la misma.

2) Pago es un IList, con la colección de Ayudantias!, no es un Id. Vas a
tener varias instancias de Ayudantia cada una con su id.

3) Id_Ayudantia = RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).Pago[*0*].POID
te traería el del 1er registro (si es que hay).

Me parece que lo mejor es que te leas:
https://www.packtpub.com/nhibernate-3-0-cookbook/book?utm_source=jasondentler.com&utm_medium=blog&utm_content=authorsite&utm_campaign=mdb_004974


Saludos,

El 1 de marzo de 2011 15:12, xhino <[email protected]> escribió:

> Los nombres singulares y plurales en mi caso no causan ruido, solo son
> un nombre de una columna, pero entiendo que te provoque ruido... lo
> arreglo despues
>
> En efecto como dices, esto seria genial... claro si conociera el ID
>
> var alumno = _session.Get<Alumno>(1)
>
> Desafortunadamente como el ID es autogenerado por una clase llamada
> Entidad
>
> public abstract class Entidad
>    {
>        public virtual Int64 POID { get; set; }
>    }
>
> Me es imposible conocer la referencia, para conocerla tuve que hacer
> lo siguiente:
>
> public Alumno ObtenerAlumnoPorMatricula(string Matricula)
>        {
>            using (ISession sesion = NHibernateClass.OpenSession())
>            {
>                var Existe = sesion.QueryOver<Alumno>().Where(x =>
> x.Matricula == Matricula).SingleOrDefault();
>                if (Existe == null)
>                {
>                    //Exception NoExisteAlumno = new Exception("El
> Alumno no Existe");
>                }
>                return Existe;
>            }
>        }
>
> Lo cual me devuelve todos los valores que tiene el Alumno, hasta aqui
> todo esta excelso
>
> long Id_Alumno, Id_Ayudantia;
>
> Id_Alumno = RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).POID;
>            lblAyuNombre.Text =
> RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).Paterno + " " +
>                RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).Materno +
> " " +
>                RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).Nombre;
> lblAyuCuenta.Text =
> Convert.ToString(RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).NoCuenta);
> lblAyuJDE.Text =
> Convert.ToString(RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).JDE);
>
> //Id_Ayudantia = RA.ObtenerAlumnoPorMatricula(txtAyuId.Text).Pago;
> <--- esta linea es la que me causa ruido
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>



-- 
Saludos,

Walter G. Poch
Sr. .Net Developer
--------------------------------------------
Cell: +54 (9 341) 3353273
[email protected]

-- 
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