свободный nhibernate: запрос сущности «многие ко многим» с эквивалентом ключевого слова any - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть отношение mant-ко-многим, смоделированное в базе данных (с таблицей мостов) между Студентом и Профессором (_students_selected), в своих энтитах я смоделировал его как отношение многих ко многим, т.е. Студенты.

HasManyToMany(x => x.Students)
   .Table("_students_selected").ChildKeyColumn("student_key").ParentKeyColumn("professor_key");

public class Professor    
{
        private IList<Students> _students;
        public virtual Student Students
        {
            get { return _students; }
            set { _students = value; }
        }
}

Я не могу запросить студентов профессоров, я пробовал следующее, однако nhibernate не распознает Any для фильтрации по списку. Что эквивалентно любому?

_unitOfWork.Session.QueryOver<Professor>()
   .Where(x => x.Students.Any(i => i.Id.IsIn(childStudentList))).List();

1 Ответ

1 голос
/ 03 февраля 2012

Это помогло мне с подобной проблемой: Запрос nhibernate не загружается с большим количеством многих joinalias

Я смог уменьшить его до:

Role role = null;

session.QueryOver<User>()
    .JoinAlias(u => u.Roles, () => role)
    .Where(() => role.Id == someId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...