Entity Framework 4.0 «Code First» подход - PullRequest
2 голосов
/ 01 ноября 2010

Я работал над Entity Framework, пытаясь улучшить его. Мне нравится то, что я вижу до сих пор, но теперь у меня есть вопрос. С этим новым подходом «Code First» (из загрузки CTP 4) мы теперь можем использовать EF из подхода «сначала код», но я пытаюсь выяснить, можно ли использовать существующий файл EDMX с этим подходом.

У меня есть проект, над которым я работаю, в котором есть файл EDMX, и я замечаю, что ModelBuilder имеет метод RegisterEdmx, но я не нахожу там много информации о том, позволит ли это использовать существующий файл EDMX с моим первым подходом кода .

Кроме того, я знаю, что с этим новым CTP такие вещи как RecreateDatabaseIfModelChanges доступны, но эти опции удаляют базу данных и воссоздают ее, не приведет ли это к потере всех ваших данных, если вы когда-нибудь измените свои модели? Я что-то упускаю здесь?

1 Ответ

3 голосов
/ 01 ноября 2010

Я не могу говорить об использовании ранее сгенерированных файлов EDMX, но есть поддержка для использования Code First с существующими базами данных .Что касается автоматического воссоздания, да, это убьет все ваши данные.Это подразумевается только в быстрой разработке, где постоянство данных не имеет значения (и, фактически, вероятно, нежелательно, так как вы обнаруживаете проблемы с бизнес-логикой и хотите начать все с обновления).

Этоподразумевается только как быстрый способ развития.По состоянию на (когда Скотт Гатри написал в блоге о CTP - переходите к разделу 5), функции переноса данных отсутствуют.Вы можете вручную обновить базу данных в соответствии с вашей моделью, удалить базу данных и разрешить ее воссоздание или установить опцию автоматического воссоздания.Только первый вариант не разрушителен для ваших данных.

...