Мы используем Entity Framework 6.0.0 и сначала используем базу данных ( например) для генерации кода из таблиц и хранимых процедур. Это, похоже, отлично работает, за исключением того, что изменения в хранимых процедурах не отражаются при обновлении или обновлении модели. Отправка столбца в таблицу отражается, но не добавление поля в хранимую процедуру.
Интересно, что если я перейду к Model Browser
, щелкните правой кнопкой мыши хранимую процедуру, выберите Add Function Import
и нажмите кнопку Get Column Information
, мы увидим правильные столбцы. Это означает, что модель знает о столбцах, но не обновляет сгенерированный код.
Существует одно обходное решение, которое заключается в удалении сгенерированной хранимой процедуры перед обновлением модели. Это работает до тех пор, пока вы не внесли никаких изменений в хранимую процедуру. Кто-нибудь знает, как избежать этого обхода?
Я использую Visual Studio 2013
со всеми последними обновлениями по состоянию на начало декабря 2013 года.
Спасибо заранее!
Обновление 1: Ответ на запрос andersr помог в одном случае, когда хранимая процедура использовала временную таблицу, поэтому я дал ему +1, но она по-прежнему не решает основной проблемы обновления простых хранимых процедур.
Обновление 2: комментарий shimron ниже ссылок на вопрос о тех же проблемах в EF 3.5. Кажется, что все же верно для EF 6.0. Прочтите его для альтернативного способа сделать это, но мой вывод на данный момент заключается в том, что самый простой способ сделать это - удалить сгенерированную хранимую процедуру перед обновлением модели. Используйте частичные классы, если хотите сделать что-то фантастическое.