Nhibernate, как читать namedquery результат метаданных?

StackOverflow https://stackoverflow.com/questions/3195195

  •  02-10-2019
  •  | 
  •  

Вопрос

У меня есть SQL-запрос определяет на моем файле отображения Nhibernate, который вызывает сохраненную процедуру, чтобы выбрать некоторые записи.

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

В коде я называю названный запрос таким образом:

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

Чтобы получить результаты, которые я использую метод «Список»

   myQuery.List();

Но таким образом он возвращает список объектов без какой-либо метаинформации ... как столбчатый. Я бы прочитал результат, как DataTable, чтобы получить ценность конкретного свойства ... Как я могу сделать?

Выбранные записи не представляют собой любую сущность мода моего домена, но только набор данных для конкретного процесса.

Это было полезно?

Решение 2

Ты прав.

Однако я нашел другое решение из этой статьи публикует на CodeProjet: http://www.codeproject.com/kb/tips/execute_sql_nibernate.aspx.

Подходит для моего сценария.

Другие советы

Если вы не отображаете этот запрос в сущность и ожидайте DataTable, зачем вообще использовать Nibernate?

Вы все еще можете получить соединение от Nibernate, если вы на самом деле используете его для остальных данных (Session.Connection) и создайте команду RAW ADO.NET оттуда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top