В большинстве приложений asp.net вы можете изменить хранилище базы данных, изменив строку соединения во время выполнения. i.e Я могу перейти от использования тестовой базы данных к производственной базе данных, просто изменив значение поля базы данных в строке соединения
Я пытаюсь изменить схему (но не обязательно сама база данных) с инфраструктурой сущностей, но не повезло.
Проблема, которую я вижу, заключается в том, что содержимое SSDL в XML файле edmx хранит схему для каждого набора объектов.
см. ниже
<EntitySet
Name="task"
EntityType="hardModel.Store.task"
store:Type="Tables"
Schema="test" />
Теперь я изменил значение атрибута схемы на "prod" из теста, и он работает.
Но это не кажется хорошим решением.
- Мне нужно обновить evert entity set, а также хранимые процедуры (у меня есть +50 таблиц)
- Я могу сделать это только время компиляции?
- Если я затем попытаюсь позже обновить сущности Entity, которые уже существуют, считываются из-за того, что EF не распознает, что таблица уже существует в edm.
Любые мысли?