Короче говоря, у нас есть C # WebApi, который предоставляет сопоставленные экземпляры из нашего DAL в DTOS.
Каждый контроллер выставляет IEnumerable<T> Get()
У меня есть тест, который находит все контроллеры, и вызываю этот метод get.
Это удаляет все ошибки сопоставления, которые возникают только при выполнении.
Некоторое время назад я заметил, что для уверенности, что вам действительно нужно выполнить перечисление, иначе сопоставление никогда не произойдет.
Итак, у меня есть этот код
if (results is IEnumerable enumerable)
{
var counter = enumerable.Cast<object>().Count();
Trace.Write($"{counter} results found.");
}
Это выполняет приведение (которое вызывает сопоставление) и дает мне счет по причинам вывода.
Это работало до тех пор, пока результирующий набор не стал массовым - это просто время ожидания.
Большинство моих IEnumerables на самом деле IQueryable под
Мне нужен способ Take(10)
на IQueryable, который может работать с отраженными данными / исполняемыми типами. Это позволит отображению работать, но на меньшем наборе данных.
Помощь!