我面對關於從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