Внесение изменений в существующие объекты в Entity Framework - PullRequest
0 голосов
/ 26 февраля 2012

Предположим, у меня есть существующая база данных, настроенная с использованием Entity Framework. Существует ли механизм, с помощью которого я могу безопасно добавлять или удалять объекты (или их свойства), чтобы база данных изменялась автоматически?

Я знаю, что есть опция "Обновить модель из базы данных". Есть ли эквивалент «Обновление базы данных из модели»? Есть ли способ настроить Visual Studio, чтобы сделать это автоматически?

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

Entity Framework 4.3 поддерживает Code First Migration.

EF помогает вам проверить различия между вашим кодом и базой данных, а затем генерирует код для вас, который обрабатывает эти изменения.Вы можете использовать консоль диспетчера пакетов NuGet для включения миграции, добавления новой миграции и запуска их для своей базы данных (или создания сценария sql).

В этом блоге объясняется , как работают миграции и этот блог показывает, как вы можете использовать его с существующей базой данных

0 голосов
/ 26 февраля 2012

Изменение схемы базы данных не является простой операцией (был ли столбец переименован, или это новый столбец? Может ли старый тип быть преобразован в новый тип?), Который можно легко вывести из модели.

EF не изменяет таблицы для вас - он может удалить-создать базу данных для вас, когда вы ее измените.Однако, если вы вручную измените существующую базу данных в соответствии с моделью, EF, похоже, не возражает.Похоже, что они проверяют это Hash(Model) = Hash(Tables).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...