NHibernate QueryOver с Fetch в результате нескольких SQL запросов и дБ
Я пытаюсь выбрать объект и получить связанный список:
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");
}
}