Я вызываю хранимую процедуру:
ObjectResult<ComplexType1> result = context.ListSomething(model.SelectedDatabase);
ViewBag.WebGrid = new WebGrid(source: result, rowsPerPage: int.MaxValue, canSort: false, canPage: false);
однако при передаче результат в качестве источника WebGrid Я получаю:
System.InvalidOperationException: результат запроса не может быть перечислен более одного раза.
Я немного выдвинут как ObjectResult реализует IEnumerable (не IQueryable ).Какова причина этого исключения и почему я должен вызвать метод ToList () :
var result = context.ListSomething(model.SelectedDatabase).ToList();
ViewBag.WebGrid = new WebGrid(source: result, rowsPerPage: int.MaxValue, canSort: false, canPage: false);
, чтобы он работал?Не могли бы вы предоставить мне некоторую документацию, объясняющую это (например, из Programming Entity Framework, 2nd Edition , как я сейчас читаю, но я не помню ничего, что объясняло бы этот механизм до сих пор).
Спасибо, Павел