Entity Framework - Использование хранимой процедуры, которая возвращает одинаковые имена столбцов от разных объектов - PullRequest
1 голос
/ 05 сентября 2010

У меня есть таблицы с именами Contact и Address, и у них обеих есть столбец «ModifiedDate». Я написал операции CUD с использованием хранимых процедур. Однако, когда дело дошло до хранимой процедуры SELECT, в которой мне нужно было вернуть все контакты с их адресами, я получил ошибку.

System.Data.EntityCommandExecutionException: Считыватель данных несовместим с указанный 'AddressBookModel.SelectAllContactsWithAddresses_Result2. Член типа «ModifiedDate1», не имеет соответствующего столбца в считывателе данных с тем же именем.

Я закончил тем, что изменил хранимую процедуру, чтобы получить разные псевдонимы для этих имен столбцов, и, к сожалению, мне также пришлось изменить свойства объектов в модели, чтобы они соответствовали выбранному столбцу. Я написал в блоге об этом здесь . Я знаю, что мог бы иметь отдельные выбранные SP (и отдельные импорты функций) для обеих сущностей , но это только одна ситуация и может случиться в других случаях, когда одинаковые имена столбцов могут возвращаться из сложного запроса несколько таблиц в SP. Кто-нибудь может дать какое-нибудь руководство по этому вопросу?

1 Ответ

1 голос
/ 13 сентября 2010

Я разместил тот же вопрос в форумах MS для EF здесь (извините за перекрестную публикацию), и модератор подтвердил, что это ошибка в EF, и попросил меня создать ошибку в Microsoft Connect.и идентификатор ошибки 597376, и вот ссылка для того же.

от Lingzhi Sun MSFT, Поддержка модераторов на форуме>

Hello,   After some research and test,
> I can repro this issue at my side.  
> It can be a limitation of EF when
> handling stored procedure return
> values.  I would recommend you open a
> ticket at Microsoft Connect to report
> this issue to the product team.   If
> it is convenient, please share us with
> the ticket link here to benefit more
> community members.  
...