1
Привет Я пытаюсь найти позицию конкретного элемента из IQueryable. Я не хочу скрывать список, а затем искать его, потому что процесс тяжелый, если количество элементов огромно.Найти индекс элемента из IQueryable
Я попробовал .TakeWhile (x => x.ItemId.Equals (ItemId)), но он показывает, что функция не поддерживается. Ниже показано, как я это делаю, используя цикл через запрос. Есть ли для этого лучший подход?
IQueryable<CustomSearchResultItem> contextQueryable = context.GetQueryable<CustomSearchResultItem>().Where(query);
if (ItemId != ID.Null)
{
int i = 0;
foreach (var x in contextQueryable)
{
if(x.ItemId.Equals(ItemId))
{
Position = i;
break;
}
i++;
}
}
Got ошибка с этим тоже. :( – yk1007
Отредактирован ответ: добавлены GetResults и измените значения. Обратите внимание, что ItemId теперь является Guid. Это должно работать (проверено). – Gatogordo