我想设置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