我面对关于从NHibernate的2.1.2 +流利的1.0 NHibernate的3.1 + 1.2流利的迁移问题:NHibernate的3.1迁移问题的LINQ
用来工作:
List<Order> orders = session.Linq<Order>()
.Where(o => o.OrderLines.Any(ol => printStatuses.Contains(ol.PrintStatus)))
.ToList();
不要工作了
List<Order> orders = session.Query<Order>()
.Where(o => o.OrderLines.Any(ol => printStatuses.Contains(ol.PrintStatus)))
.ToList();
我们得到以下错误:
“无法加载(典型值) e o.OrderLines。可能原因:该组件没有被加载或没有指定”
OrderLines是类秩序的集合属性,类型IList的<订单行>
NHibernate的似乎不能够得到虽然,在会话工厂看,我们可以看到collectionRolesByEntityParticipant字典包含类OrderLine字典值的一个关键点至Order.Orderlines。
有没有人解决了这个问题?
编辑:
PS:我们在你不知道的情况下使用自动映射。
你确定这是一个未处理的异常吗?我经常在NHibernate 3中获得第一次机会异常,如“无法加载类型x.y”,但它们不阻止查询的工作。 – cremor 2011-05-11 09:08:55
事实上,我很惊讶,即使我得到这些例外它似乎工作正常...我仍然有一些问题,我们另一种类型的查询,但这是另一回事。谢谢 ! – Breakdown 2011-05-12 12:37:44
任何解决方案呢? – Kiquenet 2011-11-02 15:27:05