执行IQueryable对象?

时间:2012-03-09 19:06:55

标签: asp.net

我正在对asp.net中的实体数据模型进行一些研究,有一个让我感到困惑。 例如

var tombstoneQuery = from t in crnnsupContext.Tombstones
                                                 from p in crnnsupContext.ProvStates
                                                  where t.RegNumber == _username && t.Province_State == p.ProvinceStateID
                                                  select t;

我想要做的是在用户登录时将所有检索到的结果推送到缓存中,因此它只需连接数据库一次。

所以我将tombtoneQuery插入Cache。问题是我如何从tombstoneQuery获取数据,因为我知道它是一个IQueryable对象吗?有没有办法执行它?

我看到有人这样做了

ObjectResult<Contact> results = (from c in context.Contacts
                             select c).Execute();

但它加了一个错误说IQueryable不包含Execute()的定义 谁都可以帮忙。非常感谢

2 个答案:

答案 0 :(得分:1)

如果你想执行查询并实现结果,听起来你真的想要:

List<TombStone> results = tombstoneQuery.ToList();

...然后将其放入缓存中。

答案 1 :(得分:0)

您正在寻找.ToList(),它将返回List<T>,其中包含所有结果的本地副本。