данные дублируются из хранимой процедуры с использованием структуры объекта - PullRequest
1 голос
/ 01 декабря 2011

Я использую Entity Framework в VS2010 .NET 3.5 для предоставления хранимой процедуры. Результаты в VS неверны, но результат выполнения хранимой процедуры вручную выглядит хорошо. Например:

Вот sp, который возвращает только отдельные имена, основанные на строке поиска, используя LIKE:

SELECT Name,GETDATE() AS Date FROM
    (SELECT DISTINCT Name FROM Customers WHERE Name LIKE 'br') dt_result

При выполнении из Query Analyzer в SQL Mgt Studio результаты выглядят корректно:

Name       Date
Brian      2011-12-01 10:59:40.093
Brady      2011-12-01 10:59:40.093
Bryan      2011-12-01 10:59:40.093

Мой код для представления результатов сохраненной процедуры в VS выглядит следующим образом:

var results = (from i in dbentities.SearchName('br')
                       select i).ToList();

Но результаты содержат это:

Name       Date
Brian      2011-12-01 10:59:40.093
Brian      2011-12-01 10:59:40.093
Brian      2011-12-01 10:59:40.093

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

Заранее спасибо.

1 Ответ

1 голос
/ 16 февраля 2013

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

Чтобы исправить это, просто перейдите в модель сущности, удалите существующие ключи у сущности и убедитесь, что выбранный вами новый ключ уникален.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...