2
我试图用流利,NHibernate的查询方法,它看起来是这样的:完整的Linq查询,而不是与流利NHibernate的Lambdas?
public T[] Query<T>(Expression<System.Func<T, bool>> where)
{
return _session.Linq<T>().Where(where).ToArray();
}
我使用VB,所以向它发送一个lambda表达式我可以用这样的行调用它:
Dim products = flRepos.Query(Of Product)(Function(p As Product) p.Id > 5)
该语法是正确的,但是在使用VB lambda表达式时,Fluent的Linq到Nhibernate的底层用法存在问题。
我很好,没有使用lambda表达式,我只是不知道如何重写该行以不使用lambda表达式。
作为参考,在VB中使用完整的linq查询确实与Linq 2 Nhibernate一起使用。这个查询对我来说很好:
Dim product = (From p In session.Linq(Of Product)() _
Where p.Id = testId _
Select p).FirstOrDefault()