Hola
Quiero usar Inner Join com NHibernate, como debo hacer?
Gracias
Ulisses
Hola
![]()
|
Usted tiene algún ejemplo? Yo quiero mostrar los Clientes y todos sus contactos como hago con El Nhibernate? con sql hago así |
SELECT * From ( Clientes INNER JOIN Contactos ON Clientes.IdCliente = Contactos.IdClientes)
Gracias
Ulisses
IQuery q = s.CreateQuery("
SELECT * From ( Clientes INNER JOIN Contactos ON Clientes.IdCliente = Contactos.IdClientes)");
IList page = q.List();Con Criteria:
Hola,
En HQL no tenés ON en el inner join…
Basicamente podes usar HQL, Criteria o tu propio SqlQuery, aunque no creo que sea necesario para este caso…
Te recomiendo que veas la documentación, porque lo que te va a convenir seguramente es hacerte una vista o DTO o como lo quieras llamar (me refiero a un objeto que tenga solo los datos que necesitas, asi evitas cargar todo el cliente por cada contacto…)
Para lo ultimo podes mirar este thread reciente: http://groups.google.com/group/NHibernate-Hispano/browse_thread/thread/cb8375ddff68184a#
Saludos!,
Diego
p.d.: Tambien tene cuidado con el Criteria, porque no es asi... seria algo como:
ICriteria c = session.CreateCriteria(typeof(Cliente));
c.CreateCriteria(“Contacto”, “co”);
c.List();
El problema me salta en el column de la return-property ya que la informacion devuelta por los store procedures de informix no viene con nombres en strings, para decirlo mas claro, usando ado.net para manejar los datos devueltos se usa un DataReader y accede a la columna por index no por string.
Alguna sugerencia?