Отфильтруйте результаты с помощью n-hibernate путем сопоставления с другой таблицей БД.

Я уже написал Hbn и код для получения пользователей из базы данных.

со следующей информацией

идентификатор пользователя, имя, электронная почта, телефон

теперь у нас есть новое требование, в котором была создана новая таблица со следующими полями

Таблица 1

  • userid -- внешний ключ к вышеуказанной пользовательской таблице
  • рабочее место
  • Идентификатор рабочего статуса

Таблица 2

  • Идентификатор рабочего статуса
  • рабочее состояние

Критерии фильтрации: рабочее место и рабочее состояние.

я не могу изменить свой существующий код.

либо я должен написать новый файл hbn и написать код

или я должен получить данные, используя ранее созданный hbn, и отфильтровать их

Пожалуйста, предложите мне код, используя linq и т. д. (если возможно)


person Techmaster    schedule 07.05.2012    source источник


Ответы (1)


либо добавьте коллекцию Workplaces или что-то еще пользователю и сопоставьте ее, тогда будет легко запросить

from u in session.Query<User>()
from w in u.Workplaces
where ...
select u;

или фильтровать с коррелированным подзапросом после сопоставления рабочих мест

person Firo    schedule 08.05.2012