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