2012-06-22 2 views
3

Привет, я написал один запрос linq для извлечения записей из модели сущности. Я получаю идеальное количество записей, но все они одинаковы. вот мой запросЗапрос Linq, возвращающий ту же строку 12 раз

Entities.TEST.Where(a => a.ID.ToUpper().Equals(ID.ToUpper())).OrderBy(s => s.NAME).ToList(); 

Am Я-то отсутствует?

+0

ли вы исследовать SQL, который излучается в базу данных? И делает ли SQL сам по себе правильный результат? –

+0

Надеюсь, в вашей реализации цикла нет проблем при повторении результатов? Пожалуйста, проверь это. –

ответ

5

Вам необходимо убедиться, что ваш объектный ключ в вашей модели данных сущности уникален.

Таким образом, в вашем примере, ID должен быть ключевым объектом для вашего испытания объекта

+0

Большое спасибо. Я забыл применить Entity Key к сущности. Большое вам спасибо ... :) – user968441

-2

Заменить Equals с == и вы можете пойти

+0

Я пробовал, но тот же выход. – user968441

+0

Возможно, у вас есть 12 элементов с одинаковым идентификатором? – Feanor

+0

Нет, у меня нет такой же записи 12 раз. – user968441

0

Ваш запрос должен работать, у меня есть подобный образец, который работает для Northwind DB:

 var ctx = new NorthwindEntities(); 
     var emp = ctx.Employees.Where(e => e.TitleOfCourtesy.Equals("ms.", StringComparison.OrdinalIgnoreCase)).OrderBy(n => n.FirstName).ToList(); 

Пожалуйста, проверьте ваш запрос в LinqPad. Вы увидите результаты и сгенерированный SQL.

+0

Если запрос не работает, говоря, что он должен работать, на самом деле это не решение, не так ли? Однако вы обеспечиваете лучший синтаксис. –

+0

Это подсказка, что запрос, возможно, работает, пользователь может поиграть с подобным образцом. Может быть, другая проблема есть, что мы не можем видеть из поставленного вопроса. –

+0

@xeondev: Получение этой ошибки. 'Невозможно указать параметры запроса (orderby, where, take, skip) на одном ресурсе.' – user968441

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