我是 fluent nhibernate 的新手,遇到以下 NHibernante 错误:
Initializing[Toto.Business.Catalog.Unit#059fb247-df11-4457-8a4d-7c8b984a155e]-failed to lazily initialize a collection of role: Toto.Business.Catalog.Unit.Values, no session or session was closed
当我尝试访问item.Product.Product.Unit.Values
. 我想通过在覆盖 IAutoMappingOverride 时使用 .Not.LazyLoad() 来解决它,但它会在我无法触及的其他视图上刹车。
我尝试了一些类似的东西:
NHibernateSession.Current.Query<BasketItem>()
.Fetch(e => e.Product.Product)
.ThenFetchMany(e => e.Unit.Values);
这不会改变任何事情。我尝试添加:
foreach (var item in CurrentUserBasket.Items.Where(item => item.Product != null && item.Product.Product != null && item.Product.Product.Unit != null))
{
NHibernateSession.Current.Load<IList<UnitValue>>(item.Product.Product.Unit.Values);
}
但我给了我错误:
Unable to locate persister for the entity named 'System.Collections.Generic.IList`1[[Toto.Business.Catalog.UnitValue, Toto.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'.
编辑
我想在我的视图中访问 item.Product.Product.Unit.Values,我该怎么做?