Рефакторинг кода Entity Framework для использования представлений вместо таблиц? - PullRequest
0 голосов
/ 29 марта 2012

Возможно, мы рассматриваем переключение наших таблиц для представлений в EF 4.3.1.

Сначала мы используем db через файл edmx, поэтому он генерирует наши объекты и dbcontext.

Кто-нибудь получил какие-либо советы по переназначению наших сущностей из таблиц в представления?

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

Или представления будут работать очень похоже натаблицы в мире EF?

1 Ответ

4 голосов
/ 29 марта 2012

Конструктор обрабатывает представления совершенно по-другому - прежде всего все представления, используемые EF через конструктор, доступны только для чтения, если только вы не отобразите хранимые процедуры или пользовательские команды SQL для вставки, обновления и удаления операции для каждого объекта, который хотите изменить.

Обычно, если у вас есть обновляемое представление, вы можете просто изменить SSDL-часть EDMX и обмануть его, притворившись, что представление действительно является таблицей, но это имеет два последствия:

  • Вы должны изменить EDMX напрямую как XML
  • Вы больше не должны использовать Обновление из базы данных , потому что оно всегда удаляет всю часть SSDL и создает новую без ваших изменений = вы должны поддерживать свой EDMX вручную или купить какое-то расширение для VS, которое позволит вам обновление только выбранных таблиц.
...