Entity framework: сопоставления, поддерживаемые вручную

Я использую EF некоторое время (сначала 4 с моделью), и до сих пор я не создавал никаких сопоставлений вручную. Всякий раз, когда мне нужно больше сущностей/таблиц, я добавляю сущность и ассоциации (все внешние ключи) и нажимаю «обновить базу данных из модели», что, как известно, не обновляет никакую базу данных из модели (хотя для этого требуется соединение с базой данных по неизвестным мне причинам). Что он делает, так это генерирует модель хранения и соответствующие сопоставления с ней, которые все хранятся в одном и том же файле edmx xml.

До сих пор этого всегда было достаточно для меня, но мне интересно, каким будет рабочий процесс, если кто-то настроит сопоставления и модель хранения вручную. «Обновить базу данных из модели» перезаписывает все ручные настройки — так как же исправить большую часть сопоставлений и модели хранения? Потому что я явно не хочу делать все это вручную - на самом деле я даже не мог понять, как на самом деле создать таблицу в модели хранения, кроме как путем редактирования edmx в xml.


person John    schedule 14.11.2012    source источник
comment
Вы ищете Миграции EF?   -  person Brad Christie    schedule 14.11.2012
comment
@BradChristie Нет, фактическим управлением базой данных я занимаюсь отдельно с проектом базы данных, и я очень доволен этим. Я говорил только о том, что EF называет моделью хранения.   -  person John    schedule 14.11.2012


Ответы (1)


У меня точно такая же проблема. Я просто использую смесь методов. Если я добавляю поле в базу данных, я просто добавляю поле в файл модели. Если я делаю серьезную реструктуризацию, я удаляю таблицу и заново создаю ее, генерируя ее из базы данных. Иногда я редактирую edmx как XML, чтобы что-то изменить или добавить. Вам просто нужно выяснить, какой процесс лучше всего подходит для вас. Мне удалось избежать тяжелой настройки в edmx, используя шаблон T4 или изменяя базу данных и регенерируя.

person chrislhardin    schedule 14.11.2012
comment
Спасибо за это. Принять ваш ответ, пока никто не докажет, что есть лучший способ. - person John; 14.11.2012