0

我在网上找到了几行代码,我理解了前两行。特定类型的数据被缓存并存储在以下模型的两个属性中。

model.payment = (List<CompInfor>)HttpRuntime.Cache[cacheKey + "_received"];
model.FilteredPayment = (List<CompInfor>)HttpRuntime.Cache[cacheKey + "_received"];

但是我不明白下面的行,因为我从来没有写过下面这样的代码。请问这条线是做什么的?这是什么意思?我知道使用 IQueryable 可以节省大量资源。

IQueryable<CompInfor> payment = model.FilteredPayment.AsQueryable<CompInfor>();
4

1 回答 1

0

它只返回一个IQueryable<T> 接口实例,该实例将利用查询提供程序对相关对象(在您的情况下为model.FilteredPayment列表)进行操作。当您针对本地执行操作时,这似乎没有多大意义List,但是(例如)在实体框架的情况下,您构建查询语句以通过 SQL 对数据库执行,Linq to Entities 查询提供程序处理IQueryable成适当的 SQL 语句以对数据库执行并处理结果。

于 2013-10-22T19:04:10.833 回答