У меня есть база данных с огромным количеством записей. У меня есть критерии фильтрации записей, которые не могут быть переведены в SQL. Рассмотрим следующий сценарий:
IItemRepository repo = new ItemRepository();
IQueryable<Item> items = repo.GetAll();
IEnumerator<Item> itemEnumerator = items.GetEnumerator();
List<BinaryData> binaryDataList = new List<BinaryData>();
while (binaryDataList.Count < 20 && itemEnumerator.MoveNext())
{
BinaryData binaryData = BinaryData.Extract(itemEnumerator.Current.BinaryData);
if (IsValidBinaryData(binaryData))
{
binaryDataList.Add(binaryData);
}
}
После выхода из цикла while
программа продолжает выполняться на сервере или останавливается? Мне нужно, чтобы это прекратилось, потому что выполнение GetAll()
запроса к этой базе данных было бы безумием.
edit: Я слишком упростил сценарий, в данном случае есть несколько фильтров иупорядочение, но в этом нет смысла копировать и вставлять этот сложный код.