NHibernate найти - PullRequest
       8

NHibernate найти

0 голосов
/ 09 июня 2009

У меня есть таблица «Customer» со столбцами «FirstName» и «LastName». Я должен выполнить поиск в таблице «Customer» после «FirstName», «LastName» и «FirstName + LastName» в зависимости от текста TextBox. Какой самый лучший способ / запрос для реализации этого с помощью NHibernate или SQL-запроса?

Ответы [ 3 ]

1 голос
/ 09 июня 2009

с использованием HQl, это было бы просто

var session = SessionFactory.OpenSession;
var transaction = session.BeginTransaction;
var query = session.CreateQuery("FROM Customer c WHERE c.LastName = :LastName And c.FirstName = :FirstName");
query.SetString("FirstName", FirstName);
query.SetString("LastName", LastName);
var returnList = _Query.List(Of Customer)();
transaction.Commit();

Конечно, это предполагает, что у вас есть объект с именем Customer и что он отображается правильно.

0 голосов
/ 09 сентября 2016

var query = this.CreateQuery(@"select c.LastName,c.FirstName from Customer  as c where c.LastName = :LastName And c.FirstName = :FirstName").SetResultTransformer(Transformers.AliasToBean<Customer>());
query.SetParameter("FirstName", FirstName);
query.SetParameter("LastName", LastName);
var result = query.List<Customer>().ToList();
return result;
0 голосов
/ 23 января 2016

Вы также можете использовать QueryOver. Это также безопасный тип:

IList<Customer> customers =
session.QueryOver<Customer>()
    .Where(c => c.LastName == "Foo" && c.FirstName == "Bar")
    .List();

Требования:

  • Класс сущности клиента (сопоставленный)
  • Открыть сессию в БД
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...