我找不到這個問題的答案,所以我認爲這是我做錯了。Fluent NHibernate LazyLoad問題
我有一個PersistenceModel設置,我設置了一個約定如下: -
persistenceModel.Conventions.Add(DefaultLazy.Always());
然而,在我的實體之一HasManyToMany關係之一,我想預先加載發生對此我設置如下: -
HasManyToMany(x => x.Affiliates).Not.LazyLoad();
直覺上,我希望預先加載爲我重寫,我已經被指定爲公約的延遲加載默認,但它仍然延遲加載發生。如果我將DefaultLazy約定設置爲never,然後將LazyLoad設置爲單個關係,則它也不起作用。
任何想法?
對不起,我刪除了我認爲不相關的代碼部分。我確實有.FetchType.Join()也關閉延遲加載仍然不起作用。關閉延遲加載的唯一方法我發現,對我而言是通過設置約定。 – Dotnet 2010-11-17 08:33:17
當應用Fetch.Join()時,我添加了DefaultLazy.Always()約定,並且HasManyToMany()關係正確加載正確。你可以在這裏從GitHub獲取我的示例:https://github.com/JamesKovacs/JamesKovacs.StackOverflow/tree/master/FluentNhHacking/ – 2010-11-17 17:04:18
好吧,我很模仿你的代碼在我的情況下,它仍然沒有工作,所以我必須仔細觀察。我正在使用.ShowSql()來確定查詢是否延遲或急切地運行,我認爲這是準確的? – Dotnet 2010-11-18 09:04:45