好吧,讓我說我有一個多對多的學生/類對象。用下面的映射在Nhibernate標準中指定關聯深度
HasManyToMany(m => m.Classes)
.Table("StudentClasses")
.LazyLoad()
.Cascade.None();
和查詢:
return _session.CreateCriteria<Student>()
.Add(Restrictions.Eq("Id", studentId))
.SetCacheable(false)
.UniqueResult<Student>();
我的表
ID | Student ID | Class StudentId | ClassId
============ =========== ===================
1 | John 1 | Algebra 1 | 1
2 | Sue 2 | Biology 1 | 2
3 | Frank 3 | Speech 2 | 2
4 | Jim 4 | Athletics 2 | 5
5 | Frankenstein 5 | History 5 | 5
我要的是約翰,用代數和生物學這來了,但生物學自帶約翰和蘇,她反過來讓我生物和歷史,填補起訴和科學怪人。你不想得到科學怪人(或任何超越生物學的東西)。在任何時候,你都可以開始循環迴圈。
我該如何指定不深入填充? SetMaxRows顯然不是我想要的,因爲它減少了總行數,我只想保溼第一層。我感到特別困惑,因爲我以爲惰性加載將迫使我指定正是我想要滋潤
你怎麼知道John和Sue也回來了? –