Нужна помощь с запросом NHibernate - PullRequest
0 голосов
/ 07 июня 2010

Скажем, я получил 3 объекта: Бизнес, Сотрудник и Оплата. Платеж имеет внешний ключ для Сотрудника, в то время как Сотрудник имеет внешний ключ для бизнеса.

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

mySession.CreateCriteria<Payment>()
    .Add(Criterion.Expression.Eq(/* Employee_FK => Employee.Business_FK == BusinessID */);

Любая помощь будет принята с благодарностью:)

1 Ответ

1 голос
/ 07 июня 2010

Во-первых, вам нужно отобразить эти FK как отношения «многие-к-одному» в вашей модели.

Затем я бы использовал HQL для этого запроса вместо критерия:

Business aBusiness = ...
var payments = session.CreateQuery("from Payment where Employee.Business = :business")
                      .SetParameter("business", aBusiness)
                      .List<Payment>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...