0

私は学生と教授 (_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();
4

1 に答える 1

1

これは、同様の問題で私を助けました:

私はそれを次のように減らすことができました:

Role role = null;

session.QueryOver<User>()
    .JoinAlias(u => u.Roles, () => role)
    .Where(() => role.Id == someId);
于 2012-02-03T01:00:00.253 に答える