Запросы NHibernate - PullRequest
       1

Запросы NHibernate

0 голосов
/ 04 февраля 2010

Мы используем NHibernate в качестве нашего ORM для проекта, и у нас есть только функция чтения базы данных.Приложение не будет обновлять, удалять или вставлять какие-либо записи в базу данных, оно будет просто запрашивать базу данных для записей.

Мой вопрос заключается в том, какой из методов, описанных выше, является наилучшим способом запроса базы данных с помощью NHibernate.

Ответы [ 2 ]

1 голос
/ 04 февраля 2010

Вы уверены, что вам действительно нужен ORM?

В любом случае, есть 3 общие опции для запроса базы данных с использованием NHibernate:

  1. HQL .
  2. Критерии API .
  3. Linq.

Самый простой - 3, самый мощный - 1.

Но я не совсем понимаю природувашего вопроса, поскольку API запросов в NHiebrnate не являются взаимоисключающими , а скорее дополняют друг друга.

Таким образом, вы можете использовать любой из них в зависимости от ситуации :

  • Для динамических запросов лучше всего подходит Criteria API.
  • Для сложных и никогда не меняющихся - HQL.
  • Для быстрых и простых - Linq.
0 голосов
/ 04 февраля 2010

Поскольку он предназначен только для чтения, вам, вероятно, не понадобится много пользы для получения результатов запроса в виде сопоставленных объектов. Возвращаемое значение типа набора результатов может быть более полезным. Для этого используйте session.createQuery, а затем query.list Каждый элемент списка будет массивом объектов. Каждый элемент массива соответствует одному столбцу выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...