Представление работало бы лучше в этом случае?
CREATE VIEW vwTable
as
SELECT
col1
, col2
, col3
, col..
, col53
FROM table
var myProducts = Models.Products.ToList();
for(i=0; i< myProducts.Count ; i++)
{
//myProducts[i];
}
В IEnumerator нет индекса. Используйте
foreach(var item in Model.Products)
{
...item...
}
, вы можете создать свой собственный индекс, если хотите:
int i=0;
foreach(var item in Model.Products)
{
... item...
i++;
}
Прежде всего, вы уверены, что это действительно IEnumerator
а не IEnumerable
? Я сильно подозреваю, что на самом деле последнее.
Кроме того, вопрос не совсем ясен. У вас есть индекс, и вы хотите получить объект по этому индексу? Если это так, и если у вас действительно есть IEnumerable
(а не IEnumerator
), вы можете сделать это:
using System.Linq;
...
var product = Model.Products.ElementAt(i);
Если вы хотите перечислить всю коллекцию, но также хотите иметь index для каждого элемента, тогда ответы VA или Нестора - это то, что вы хотите.
foreach(var indexedProduct in Model.Products.Select((p, i)=> new {Product = p, Index = i})
{
...
...indexedProduct.Product...
...indexProduct.Index ...//this is what you need.
...
}