エンティティを選択して関連リストを取得しようとしています:
Session.QueryOver<UserRole>()
.Fetch(x => x.UsersInRole).Eager
.List();
その結果、多くのデータベース ヒットが発生します。最初のものは次のようなものです:
SELECT ... FROM UserRoles left outer join UsersInRoles on ...
そして、次のような数百の個別のクエリ:
SELECT ... FROM UsersInRoles left outer join UserRoles on ... WHERE UserRoles.UserId=?
マッピングは次のとおりです。
public class UserRoleMap : ClassMap<UserRole>
{
public UserRoleMap()
{
Id(x => x.Id);
Map(x => x.RoleName);
HasManyToMany(x => x.UsersInRole)
.Inverse()
.LazyLoad()
.Table("UsersInRoles");
}
}