У меня есть dbcontext, который я запрашиваю, чтобы вернуть модель, содержащую общее количество всех элементов и тип Ienumerable, который представляет подмножество элементов. У меня три среды: localhost, Development и Test. Используя ту же версию кода, Development и localhost возвращают полный набор данных со счетом и списком элементов. Тест возвращает правильный счет с пустым списком элементов. Кодировка одинакова для всех сред. Я указал все среды в одной базе данных, чтобы изолировать любые проблемы, которые могут существовать в БД. Запрос выглядит следующим образом:Entity Framework, возвращающий частично пустой набор данных
var rawItems = context.entity.Where(x => x.id == ID).OrderBy(x => x.id);
totalCount = rawItems.Count();
return rawItems.Skip(0).Take(25).Select(x => x.ToExternalModel())
ToExternalModel является методом преобразования, который принимает объект и преобразует его в другую модель. Исключение этого кода не исключено. Я удалил все попытки/уловы, чтобы убедиться.
Я действительно думаю, что это проблема с окружающей средой. Я действительно не знаю, что еще может быть.
Зачем вам нужно Пропустить (0)? Если вы просто вернете rawItems без преобразования его в внешнюю модель, результаты будут такими же? – Nilesh
Этот фрагмент кода представляет параметры, которые я использую для выполнения. В реальном коде 0 является переменной и может не быть 0. Я не пробовал просто возвращать список необработанных элементов, но для этого было бы подразумевать, что преобразование ведет себя по-другому на одной из трех машин. – user2698212
Оказывается, запрос, сгенерированный на тестовом сервере, отличается (другая структура соединения), чем запрос, сгенерированный на других серверах. Я все еще изучаю, почему это может быть иначе. – user2698212