Linq 枚举存储过程结果-查询结果不能枚举多次

Linq 枚举存储过程结果-查询结果不能枚举多次,linq,entity-framework,entity-framework-4,linq-to-entities,Linq,Entity Framework,Entity Framework 4,Linq To Entities,我正在调用存储过程: ObjectResult<ComplexType1> result = context.ListSomething(model.SelectedDatabase); ViewBag.WebGrid = new WebGrid(source: result, rowsPerPage: int.MaxValue, canSort: false, canPage: false); 让它工作?你能给我提供一些解释它的文档吗(例如,在我现在阅读的时候,我不记得有什么可以

我正在调用存储过程:

ObjectResult<ComplexType1> result = context.ListSomething(model.SelectedDatabase);
ViewBag.WebGrid = new WebGrid(source: result, rowsPerPage: int.MaxValue, canSort: false, canPage: false);
让它工作?你能给我提供一些解释它的文档吗(例如,在我现在阅读的时候,我不记得有什么可以解释这个机制的)

谢谢,
Pawel

这是因为
ObjectResult
在内部访问
DataReader
,它只允许以仅向前的方式枚举结果一次,所以如果您想再次迭代结果而不调用
ToList
首先必须再次执行存储过程并获得新的
ObjectResult
实例。

Ah,我想我记得类似的例子,延迟加载设置为false,当循环时T类型对象被具体化。。。谢谢你的提示。
var result = context.ListSomething(model.SelectedDatabase).ToList();
ViewBag.WebGrid = new WebGrid(source: result, rowsPerPage: int.MaxValue, canSort: false, canPage: false);