NHibernate Criteria Query - Select Distinct with Joined Entity
-
20-09-2019 - |
Question
I have a Person entity. Every person has a country, I want to select all the distinct countries that have people in them. This Criteria Query returns all the distinct CountryID's
criteria.SetProjection(Projections.Distinct(Projections.Property("Country")));
How do I alter it to join and fetch the Country entity, not just the ID?
Solution
Any easy way would be to use a subquery. That is, you could select the whole country on the outer query where the country ID matches the inner query.
Subqueries.PropertyIn(
"Country",
innerDetachedCriteriaWhichFindsCountriesWithPeopleAndProjectsCountryId)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow