Nhibernate, как читать namedquery результат метаданных?
-
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 оттуда.