Простой NHibernate запрос

#c# #mysql #linq #nhibernate

#c# #mysql #linq #nhibernate

Вопрос:

Я ищу способ сделать простой

 SELECT foo FROM bar WHERE foo = x
  

в NHibernate. Я также не уверен, что этого лучше всего достичь с помощью Linq2NHibernate или просто NHibernate. Поиск и чтение результатов Google по какой-либо причине не принесли мне особой удачи.

Я также использую MySQL в качестве ядра базы данных, на случай, если вдруг возникнут различия между SQL и MySQL с точки зрения синтаксиса.

Спасибо за помощь.

Ответ №1:

Предположения:

  1. Уже открыта SessionFactory
  2. Вы получили сеанс из этого SessionFactory
  3. Вы используете обобщенные файлы и хотите возвращать объекты типа Foo


var fooList = session.CreateQuery("SELECT foo FROM bar WHERE foo =:x")
.SetParameter("x","value of x")
.List < Foo > ();

Обратите внимание, что:

  • x - это заполнитель, значение которого необходимо задать с помощью setParamter(заполнитель, значение)