如何为包含函数调用的NHibernate构建LINQ查询?

如何为包含函数调用的NHibernate构建LINQ查询?,nhibernate,linq-to-nhibernate,Nhibernate,Linq To Nhibernate,几周前,我决定从使用Linq改为使用SQL,改为使用NHibernate。(原因包括:其他基于Java的项目使用Hibernate;目标数据库尚未确定;可能必须针对多个数据库) 无论如何,我想继续使用LINQ,并且看到NHibernate有LINQ支持。我希望有一小部分对象访问方法,并且能够传递一个LINQ表达式来过滤查询,但它没有按预期工作 下面是一个基于 p.Description.Contains语句导致此错误消息: Atf.NUnit.Model.TestLinq.TestProduct

几周前,我决定从使用Linq改为使用SQL,改为使用NHibernate。(原因包括:其他基于Java的项目使用Hibernate;目标数据库尚未确定;可能必须针对多个数据库)

无论如何,我想继续使用LINQ,并且看到NHibernate有LINQ支持。我希望有一小部分对象访问方法,并且能够传递一个LINQ表达式来过滤查询,但它没有按预期工作

下面是一个基于

p.Description.Contains
语句导致此错误消息:

Atf.NUnit.Model.TestLinq.TestProductCID():
System.Exception : Could not determine member type from Constant, False, System.Linq.Expressions.ConstantExpression
Atf.NUnit.Model.TestLinq.TestProductCID():
System.Exception : Could not determine member type from Invoke, Invoke(p => p.Description.Contains(value(Atf.Model.Linq.ProductLinq+<>c__DisplayClass2).temp), f), System.Linq.Expressions.InvocationExpression
Atf.NUnit.Model.TestLinq.TestProductCID():
System.Exception:无法从Invoke、Invoke(p=>p.Description.Contains(value(Atf.Model.Linq.ProductLinq+c_DisplayClass2.temp)、f)、System.Linq.Expressions.invokeExpression确定成员类型
我在使用
string.Equals
和其他类似方法时也会遇到类似的错误


我做错什么了吗?我应该使用不同的方法吗?

对不起,没有。项目被取消了;-)禅解:)谢谢你的回复。
Atf.NUnit.Model.TestLinq.TestProductCID():
System.Exception : Could not determine member type from Invoke, Invoke(p => p.Description.Contains(value(Atf.Model.Linq.ProductLinq+<>c__DisplayClass2).temp), f), System.Linq.Expressions.InvocationExpression