我想設置fetchmode渴望在我的對象圖中有兩層深的屬性。NHibernate填充屬性,但屬性保持爲空
DetachedCriteria homeSupportServicesPlacementInvoiceQuery = DetachedCriteria.For<HomeSupportServicesPlacementInvoice>()
.SetFetchMode("VendorService", FetchMode.Eager)
.SetFetchMode("VendorService.Vendor", FetchMode.Eager);
NHibernate的填充我的VendorService對象的正確值,對象移動到業務層但是之後,不再附加到會話,賣方屬性不再水合。我注意到這個過程的唯一另外一個怪事是,在quickwatch窗口中,調試VendorService的屬性時爲null,而Property已經設置了正確的值。
我在做什麼錯?
對於那些下面的問題,顯然你可以爲不在映射中的屬性設置fetchmode,它將被填充(你可以在調試中看到它),但是當你從對象中分離對象時,這些值會消失會議。
你可以發佈你的財產實施和映射的代碼? –
VendorService的映射是什麼樣的。檢查屬性Vendor是否正確映射 – Rippo
謝謝Tom&Rippo,問題在於映射。我認爲我已經正確地檢查了它們,但是在我更新代碼時發現了這個問題。 – rie819