我在 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 查询将结果设置为动态类型时,动态类型未更新。
除了设置结果类型之外,还有其他方法吗?
谢谢
布伦特