2

我在我正在构建的应用程序中使用 linq 休眠和 IQueryable.Where 函数。Expression让我感到困惑的是,我创建并传递给 INhibernateQueryable 的 Where 函数的 s是如何影响性能的。

在性能方面,我不太确定在编写这些查询表达式时应该避免哪些问题。如果我通过如下函数调用传入一个表达式:

CurrentSession.Linq<ENTITY>().Where(x => x.IsBuyOrder && CheckVariousProperties(x))

是否要检索每条记录where IsBuyOrder = true,然后CheckVariousProperties在延迟执行不再延迟后立即调用它们的函数?

函数调用如何影响 LinqToNhibernate 性能?

在 LINQ to Nhibernate 查询表达式中应该避免哪些事情?

4

2 回答 2

0

我会CheckVariousProperties(x)从查询部分中删除,并将其应用于查询的返回结果。

var myresult= [object].Where(x => x.IsUBuyOrder);
var checkedResult = myresult.Where(x => CheckVariousProperties(x));
于 2009-11-18T20:55:54.117 回答
0

最好的办法是使用NHibernate Profiler分析您的应用程序。它将能够帮助您确定最大的瓶颈。

于 2009-11-18T20:56:51.433 回答