レコードのサブセットを返す必要があり、そのために次のコマンドを使用します。
using (SqlCommand command = new SqlCommand(
"SELECT ID, Name, Flag, IsDefault FROM (SELECT ROW_NUMBER() OVER (ORDER BY @OrderBy DESC) as Row, ID, Name, Flag, IsDefault FROM dbo.Languages) results WHERE Row BETWEEN ((@Page - 1) * @ItemsPerPage + 1) AND (@Page * @ItemsPerPage)",
connection))
次のように宣言されたSqlCacheDependencyを設定します。
SqlCacheDependency cacheDependency = new SqlCacheDependency(command);
しかし、command.ExecuteReader()命令を実行した直後に、クエリの結果をまったく変更しなかったにもかかわらず、SqlCacheDependencyオブジェクトのhasChanged基本プロパティがtrueになります。また、このため、このクエリの結果はキャッシュに保持されません。
HttpRuntime.Cache.Insert( cacheKey, list, cacheDependency, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(AppConfiguration.CacheExpiration.VeryLowActivity));
コマンドに2つのSELECTステートメントがあるためですか?ROW_NUMBER()ですか?はいの場合、結果をページ分割する他の方法はありますか?
助けてください!時間がかかりすぎると、少しでも大歓迎です!ありがとうございました