Подтвердить что ты не робот

Как получить структуру Entity для обновления сложных типов?

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

4b9b3361

Ответ 1

Я нашел другой способ сделать это, не удаляя сложный тип. Вы можете обновить свой комплексный тип, а Visual Studio добавит все измененные столбцы. Вот как:

  • Откройте файл .edmx и перейдите в браузер модели.
  • Если ваш сохраненный proc изменен, щелкните правой кнопкой мыши по любой белой области в браузере модели и выберите "Обновить модель из базы данных", нажмите "Готово". Это обновит хранимую процедуру.
  • Теперь перейдем к XModel.edmx > XModel > EntityContainer: XEntities > Импорт функций (X - ваше имя объекта) и щелкните правой кнопкой мыши тот, который вам нужно обновить. Выберите "Изменить".
  • Нажмите "Получить информацию о столбце". Теперь рядом с кнопкой "Тип комплекта" есть кнопка "Обновить". Нажмите эту кнопку, чтобы обновить сложный тип, а затем нажмите кнопку OK.

Это должно сделать это!

Ответ 2

Существует более простой способ добиться этого, посмотрите здесь в SO. Он добавляет некоторую метаинформацию в хранимую процедуру, которую EF использует для создания соответствующего типа возврата для вас.

Часть метаинформации хранимой процедуры не выполняется, она просто сообщает о том, какие столбцы и типы данных возвращаются.