Razor ビューで次のコードを作成しました。
var Db= Database.Open("db");
var results = from t in Db.Query("up_rpt_hourlysales_today")
group t by t["Channel"];
次のコードでデータを使用しています...
@foreach (var c in results ){
var htmlKey = Server.UrlEncode(c.Key);
<p><a href="@htmlKey" data-role="button">@c.Key</a></p>
}
WebCache を使用したかったので、次のコードを追加しました。
var cacheItemKey = "Sales";
var cacheHit = true;
var results = WebCache.Get(cacheItemKey);
if (results == null) {
cacheHit = false;
}
if (cacheHit == false) {
var Db= Database.Open("db");
results = from t in Db.Query("up_rpt_hourlysales_today")
group t by t["Channel"];
WebCache.Set(cacheItemKey,results, 5,false);
}
キャッシュ コードはうまく機能しますが、結果を処理するときにアイテムの動的プロパティにアクセスしようとするとエラーが発生します。
「オブジェクト」には「キー」の定義が含まれていません
これは、最初に返される結果の型が Null であり、LINQ クエリを使用して結果を設定しても Dynamic 型が更新されないためだと思います。
結果のタイプを設定する以外に、これを回避する方法はありますか?
ありがとう
ブレント