Pregunta

Tengo una consulta SQL a definir en mi archivo de asignación nhibernate, que llama a un procedimiento almacenado para seleccionar algunos registros.

 <sql-query name="sp_MYSP">
     exec MYDBSP :param1, :param2, :param3
 </sql-query>

El código, que llame a la consulta con nombre de esta manera:

  IQuery myQuery= Session.GetNamedQuery("sp_MYSP");
  myQuery.SetString("param1", p1);
  myQuery.SetString("param2", p2);
  myQuery.SetString("param3", p3);

para obtener resultados que utilizo "Lista" método

   myQuery.List();

pero de esta forma se devuelve una lista de objetos sin ningún tipo de información meta ... como columname. Me gustaría leer resultado como una tabla de datos para obtener el valor de la propiedad específica ... ¿cómo puedo hacer?

Los registros seleccionados no representa ninguna entidad de mi dominio modal, pero sólo una colección de datos utilizar para un proceso específico.

¿Fue útil?

Solución 2

Tienes razón.

Sin embargo he encontrado otra solución de este artículo publicar en codeprojet: http: // www .codeproject.com / KB / consejos / Execute_SQL_Nhibernate.aspx

Ajuste para mi escenario.

Otros consejos

Si no está correlacionando esa consulta a una entidad y espera una tabla de datos, por qué el uso de NHibernate en absoluto?

Usted todavía puede obtener una conexión de NHibernate si en realidad se está utilizando para el resto de sus datos (session.connection) y crear un comando de ADO.NET en bruto a partir de ahí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top