NHibernate QueryOver - PullRequest
       14

NHibernate QueryOver

2 голосов
/ 07 июля 2011

Я искал вокруг, но не нашел, что я делаю здесь неправильно.

У меня есть объект C, который содержит список объектов L, объект C также содержит ссылку на класс R.

Из объекта L Я хочу найти объект R.

Я пытаюсь сделать это, но получаю нулевое значение, используя этот код:

L уже является экземпляром объекта, который получает функция.

var t = SessionController.CurrentSession.QueryOver<C>()
  .Where(c => c.Id == L.C_Id)
  .JoinQueryOver<R>(c => c.R)
  .Select(c => c.R).SingleOrDefault();

Любая идея о том, что я делаю здесь неправильно, будет принята с благодарностью.Спасибо

1 Ответ

2 голосов
/ 07 июля 2011

Проблема в том, что ваш вызов SingleOrDefault возвращает экземпляр класса C, и я предполагаю, что не существует экземпляра класса C с идентификатором связанного класса R. Вы можете изменить свой запрос следующим образом: 1001 *

var t = SessionController.CurrentSession.QueryOver<C>()
  .Where(c => c.Id == L.C_Id)
  .JoinQueryOver<R>(c => c.R)
  .Select(c => c.R).SingleOrDefault<R>();

Обратите внимание на явную типизацию вызова SingleOrDefault.

...