次のようなユーザー テーブルと国テーブルがあるとします。
tblUsers
int UserId
int UserCountry
tblCountries
int CountryId
string CountryName
マッピングなどをそれぞれに適切に整理します。
List EligibleCountries のようなものがある場合、国のリストからすべてのユーザーを取得するクエリを作成するにはどうすればよいでしょうか?
何かのようなもの:
DetachedCriteria query = DetachedCriteria.For<Users>();
for(int i = 0; i < EligibleCountries.Count(); i++)
{
query.CreateAlias("Country", "c")
.Add(Restrictions.Like("c.CountryId", EligibleCountries[i]));
}
ユーザーが 1 か国だけにいて、すべての国にいるかどうかを確認するため、機能しません...
Restrictions.In を使用してみましたが、思いどおりに動作しないようです。
対象国のリストにある国のいずれかにいる限り、ユーザーを取得するようにするにはどうすればよいですか?