考虑以下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