應該在NHibernate的惰性加載集合曾經給我一個NullReferenceException?我在如下方法中遇到異常:NHibernate的 - 懶惰加載收藏
public void Test(ISession session, int id)
{
var entity = session.Load<MyEntity>(id);
entity.LazyLoadedCollection.Add(SomeItem);
}
對LazyLoadedCollection的調用正在拋出。我的映射如下所示:
<bag lazy="true" table="MyTable">
<key>
<column name="LazyLoadedCollection" />
</key>
<many-to-many class="LazyLoadedItem">
<column name="LazyLoadedItemId" />
</many-to-many>
</bag>
這是NHibernate中的預期行爲嗎?
就像我在帖子中說的,異常來自entity.LazyLoadedCollection.Add。我真的不明白爲什麼遵循異常的代碼很重要。我得到了一個調用Session.Load的實體實例,並試圖將一個對象添加到一個屬性上,該屬性是一個延遲加載的集合。你能告訴我哪一部分不清楚嗎? –
實體類中的代碼。我確定異常不是由NHibernate引起的,而是由我在代碼示例中看不到的其他東西引起的。當你做新的Entity()。LazyLoadedCollection.Add()時沒有任何映射或引用NHibernate會發生什麼?我猜也一樣,但我不知道你是如何實現它的。 – Paco