考慮以下LINQ到NHibernate的查詢:LINQ查詢不無.ToList工作()
var q1 = from se in query.ToList<SomeEntity>()
where
prop1 == "abc"
select se;
var q2 = from se in q1
where
m1(se.prop2) == "def"
select se;
q2
不會與錯誤作:「方法M1,未實現」。但與下面的查詢代替q2
,一切正常的話:
var q2 = from se in q1.ToList<SomeEntity>()
where
m1(se.prop2) == "def"
select se;
爲什麼出現這種情況?我怎樣才能得到第一個查詢工作呢?這是LINQ-to-NHibernate發生的事情,還是發生在所有LINQ查詢中?
這是正確的。然而,NHibernate 3 **不允許你擴展LINQ提供者以支持任何方法調用(當然,你必須知道如何從中創建一個HQL樹)。見http://fabiomaulo.blogspot.com/2010/07/nhibernate-linq-provider-extension.html – 2010-10-12 20:17:55
@Diego Mijelshon:在NHibernate的3驚人的特點,非常感謝通知。 – 2010-10-13 06:14:22