Запрос критериев NHibernate - выберите различие с присоединенным объектом

У меня есть личность лица. У каждого человека есть страна, я хочу выбрать все страны, в которых есть люди. Этот критерий запроса возвращает все отдельные идентификаторы CountryID

criteria.SetProjection(Projections.Distinct(Projections.Property("Country")));

Как я могу изменить его, чтобы присоединиться и получить объект Country, а не только ID?

1 ответ

Решение

Любой простой способ - использовать подзапрос. То есть вы можете выбрать всю страну во внешнем запросе, где идентификатор страны соответствует внутреннему запросу.

Subqueries.PropertyIn(
  "Country",
  innerDetachedCriteriaWhichFindsCountriesWithPeopleAndProjectsCountryId)
Другие вопросы по тегам