2013-08-20 5 views
0

У меня есть 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

Зачем вам нужно Пропустить (0)? Если вы просто вернете rawItems без преобразования его в внешнюю модель, результаты будут такими же? – Nilesh

+0

Этот фрагмент кода представляет параметры, которые я использую для выполнения. В реальном коде 0 является переменной и может не быть 0. Я не пробовал просто возвращать список необработанных элементов, но для этого было бы подразумевать, что преобразование ведет себя по-другому на одной из трех машин. – user2698212

+0

Оказывается, запрос, сгенерированный на тестовом сервере, отличается (другая структура соединения), чем запрос, сгенерированный на других серверах. Я все еще изучаю, почему это может быть иначе. – user2698212

ответ

0

Проблема была неправильным определением внешнего ключа в схеме схемы сущностей. Я все еще не уверен, почему в некоторых средах создана рабочая версия запроса, а одна среда создала нерабочий запрос. Я собираюсь продолжить исследования, но определение определения внешнего ключа было решением.

Смежные вопросы