EF CTP5 - Не удается найти примеры «База данных сначала» - PullRequest
0 голосов
/ 11 марта 2011

Я новичок в CTP, только что скачал CTP5. У меня есть база данных, из которой я постоянно восстанавливаю свой файл * .edmx в течение нескольких месяцев в течение итеративных циклов разработки. Одной из самых больших проблем было то, что каждый раз, когда я регенерирую файл * .edmx, мне приходится вручную входить и исправлять ошибки. ОГРОМНАЯ трата времени. Например, у меня есть таблица с полями BillingAddressID и HomeAddressID, оба из которых являются FK для моей таблицы адресов. Когда мастер EF генерирует мою модель для меня, они появляются как адрес и адрес1. Я должен вручную войти в конструктор и переименовать их в BillingAddress и HomeAddress.

Я надеюсь, что с CTP5 я могу подключиться к конвейеру генерации и автоматически исправить модель при каждой регенерации. Но все примеры, по-видимому, «сначала кода», я не могу найти примеров того, как подключить код генерации модели «база данных сначала».

Можно ли это сделать с помощью CTP5? Если да, может кто-нибудь указать мне учебник или образец?

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 марта 2011

Интересно, какие свойства вашей модели переименованы? Изменения, внесенные в объекты (CSDL), не изменяются при обновлении модели из базы данных. Только ручные изменения в SSDL (описание базы данных) перезаписываются. Конечно, если вы просто удалите свой EDMX и позволите VS создать новый, ваши изменения будут потеряны.

Если вы хотите использовать функции CTP5 с EDMX , возможно, НО вы используете тот же EDMX, что и сейчас, поэтому, если у вас возникли проблемы с обработкой EDMX, эти проблемы сохранятся.

0 голосов
/ 11 марта 2011

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx

Это не будет генерировать модели для вас, смысл Codefirst заключается в написании ваших собственных POCO.Но он поддерживает сценарий db-first.

Обновление Я только что провел небольшой эксперимент и обнаружил, что в сценариях, где я переименовал столбцы, генерируется инструмент проектирования EDMX (согласно вашему примеру).из-за того, в чем проблема), я все еще могу запустить инструмент «Обновление модели из базы данных» (щелкните правой кнопкой мыши на поверхности конструктора, выберите «Обновление модели из базы данных»), и он не заменит мои изменения.

ВыВы не редактируете вручную сгенерированные файлы кода?

...