2
當我(從數據庫)請求實例時,我有幾個實體通過FNH配置,以便使用FetchMode.Eager
語法加載子實體。現在我的印象是,它會忽略映射中的任何延遲加載,並用「真實」數據填充子實體。(流利)Nhibernate延遲加載並影響Parallel.ForEach
爲什麼我想這樣做的原因是因爲我想用一個Parallel.ForEach
遍歷實體的集合,產生一組結果,但我得到了以下錯誤:
[18000] System.InvalidOperationException:
There is already an open DataReader associated with this Command
which must be closed first.
如果我使用'NHibernateUtil.Initialize'初始化所有子實體,然後按預期工作。
我錯在我的理解中使用FetchMode.Eager
?
我知道這一切,因此使用'NHibernateUtil.Initialize' – AwkwardCoder 2011-03-28 09:05:09
這並不重要。你的對象仍然有代理環繞它們,期望上下文存在,如果你處於不同的線程中,這不是。 – Deleted 2011-03-28 09:22:00
NHibernateUtil.Initialize刪除代理.... – AwkwardCoder 2011-03-28 17:04:01