2

linq を使用して nhibernate を実行し、作成中のアプリケーションで 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 に答える