Я пытаюсь написать критерий NHibernate, который эффективно объединяет и ограничивает одновременно. Моя БД выглядит так ...
случаи ---> CustomerProducts <--- клиенты
Случаи ---> CaseStatuses
Каждый случай связан с продуктом клиента (многие случаи с одним продуктом).
У каждого клиента есть несколько продуктов (один клиент имеет много продуктов).
Каждый случай дополнительно имеет статус дела (один статус дела для многих дел).
Это было сопоставлено с файлами XML, и разрешение между многими случаями и клиентами (через продукты клиента) было разрешено с помощью Наборов <> в сопоставлении CustomerProduct, что означает, что сущность CustomerProduct имеет наборы:
Пользователи
Случаи
Затем я создаю критерий, набранный как "Случаи" Критерии, которые мне нужно применить, это ....
Статусы IN [различные коды состояния]. Это было достигнуто с ....
crit.Add (Restrictions.In ("CaseStatus.CaseStatusId", статусы));
Теперь мне нужно выбрать только случаи для определенного идентификатора клиента. Я пытался ...
критериев. Добавить ("CustomerProduct.Customer.CustomerId", customerId);
Это не работает, и NHibernate говорит мне, что не может разрешить сопоставление с CustomerProduct.Customer.CustomerId.
У Case есть свойство объекта CustomerProduct.
CustomerProduct имеет свойство объекта Customer.
Клиент имеет свойство CustomerId.
Есть идеи, почему это не сработает?
Спасибо.