このシナリオを考えてみましょう。
特定の呼び出しを行うことができるリポジトリがあります。これらの呼び出しは LINQ を使用するため、返されるデータ量の点で比較的コストがかかる可能性があります。
私の場合、データが古い場合でもそれほど悪くはありません。キャッシュを実装して、大規模で高価なクエリがすべての呼び出しで実行されないようにすることができます。キャッシング ポリシーを実装して、時間や使用状況に基づいてそのクエリをいつ再実行するかを決定することもできます。
私が理解しようとしているのは、それをキャッシュに入れる方法です。1 つの方法は、単純に次のように言うことです。
"querytype1" = Particular LINQ expression
"querytype2" = Particular LINQ expression
次に、単純な文字列でキャッシュにキーを設定します。しかし、LINQ を実行していることを考えると、LINQ 式自体によってキャッシュのキーを設定できる可能性があるでしょうか? パフォーマンスの指標は理解していますが、2 つの LINQ 式が同じかどうかを比較する方法はありますか?