0
我有一個mant-to-many關係模型在學生和教授(_students_selected)之間的數據庫中(橋表)我曾經將它建模爲多對多的關係,即教授有許多學生。流利的nhibernate:查詢多對多的實體與'any'關鍵字的等效
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的不承認任何在列表中進行篩選。什麼相當於任何?
_unitOfWork.Session.QueryOver<Professor>()
.Where(x => x.Students.Any(i => i.Id.IsIn(childStudentList))).List();
你試過'.WithSubquery.Where(X => X。 Students.Any(i => i.Id.IsIn(childStudentList)));'? – Firo
嗨,感謝您的回覆,我剛剛嘗試了以下內容:_unitOfWork.Session.QueryOver().WithSubquery.Where( x => x.Students.Any(i => i.Id.IsIn(childStudentList)) )的.List();和即時獲取以下錯誤'無法投入'System.Linq.Expressions.MethodCallExpressionN'類型的對象鍵入'System.Linq.Expressions.BinaryExpression''。 –