1
我试图做一个通用选择一个nhibernate对象。我传递函数求到get方法...通用NHibernate Linq的选择与func
T Get(Func<T, bool> selectQuery)
{
using (var session = SessionFactory.Session.OpenSession())
{
return (from x in session.Query<T>() where selectQuery(x) select x).FirstOrDefault();
}
}
但是这种方法执行的时候,我收到以下错误:
"Unable to cast object of type 'NHibernate.Hql.Ast.HqlParameter' to type 'NHibernate.Hql.Ast.HqlBooleanExpression'."
我试图使用表达式来代替,但得到同样的错误。我缺少一些有意思的东西,或者我正在尝试不可能的东西?
我发誓我以前曾经尝试过,但我必须有东西有点不同。你的例子没有编译,但有一点改变使它工作... return(from x in session.Query()select x).Where(selectQuery).FirstOrDefault(); –
dlswimmer
我有一个问题,但如果这仍然做延迟执行的地方部分,直到FirstOrDefault发生。我将不得不检查日志以查看生成的内容。 – dlswimmer