2012-11-14 1 views
0

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

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

+0

Вы ищете [EF Migrations] (http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx)? –

+0

@BradChristie Нет, фактическое управление базой данных я делаю отдельно с проектом базы данных, и я очень этому доволен. Я говорил только о том, что EF называет модель хранения. – John

ответ

1

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

+0

Спасибо за это. Принимая ваш ответ, пока никто не докажет, что есть лучший способ. – John

+0

Да, я определенно приветствовал бы что-то лучше самого Джона. – chrislhardin