Преобразование кода из NHibernate 2.x в 3.x - PullRequest
1 голос
/ 09 ноября 2011

Я играю с NHibernate и пытаюсь создать общий Repository, используя эту статью .
В статье используется NHibernate 2.x, и я использую версию 3.x.Я хочу преобразовать следующий код, но я хочу убедиться, что выполнение остается прежним.
Оригинальный код

public IList<T> GetListBy<T>(Expression<Func<T, bool>> query = null)
{
    return InnerSession.Linq<T>().Where(query).ToList();
}

Преобразованный код

 public T GetItemBy<T>(Expression<Func<T, bool>> query) where T : class
 {
     return (T)InnerSession.QueryOver<T>().Where(query);  //.SingleOrDefault(query);
 }

Это правильное преобразование?

1 Ответ

3 голосов
/ 09 ноября 2011

Если вы хотите использовать LINQ, правильное преобразование:

return InnerSession.Query<T>().Where(query).ToList();

Query<T>() - это метод расширения в другом пространстве имен (NHibernate.Linq).

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