Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
В этой статье предполагается, что вы умеете использовать Code First Migrations в основных сценариях. Если нет, то прежде чем продолжить, прочитайте Code First Migrations.
При первой миграции кода можно обновить базу данных из Visual Studio, но вы также можете выполнить миграцию из командной строкиef6.exe. Эта программа заменяет migrate.exe.
Найдите ef6.exe
При установке Entity Framework с помощью NuGet ef6.exe находится в папке средств пакета NuGet. При использовании PackageReference пакет хранится в глобальной папке пакетов. Рассмотрим пример.
%USERPROFILE%\.nuget\packages\entityframework\6.5.2\tools\net45\any\ef6.exe
Замените 6.5.2 на версию Entity Framework, установленную в вашем проекте.
Просмотр параметров
ef6.exe database update --help
Переход на последнюю версию миграции
ef6.exe database update --assembly MyMvcApplication.dll --config ..\web.config
Требуется сборка, содержащая миграции. Для остальных параметров используются значения по умолчанию, если они не указаны.
Перейти на конкретную миграцию
ef6.exe database update --assembly MyApp.exe --config MyApp.exe.config --target AddTitle
Используйте --target, чтобы применить все миграции до определенной миграции включительно.
Указание каталога проекта
ef6.exe database update --assembly MyApp.exe --config MyApp.exe.config --project-dir C:\MyApp
Используйте --project-dir, чтобы задать каталог проекта, который используется для разрешения зависимостей и относительных путей к файлам.
Укажите используемую конфигурацию миграции
ef6.exe database update --assembly MyAssembly.dll --migrations-config CustomConfig --config ..\web.config
Если сборка содержит несколько классов конфигурации миграции, используйте --migrations-config для указания того, какой из них следует использовать.
Укажите строку подключения
ef6.exe database update --assembly BlogDemo.dll --connection-string "Data Source=localhost;Initial Catalog=BlogDemo;Integrated Security=SSPI" --connection-provider System.Data.SqlClient
При указании строка подключения необходимо также указать имя поставщика.
Создание скрипта SQL
Используйте --script для записи SQL-скрипта миграции в стандартный вывод. Перенаправьте выходные данные для сохранения скрипта в файл:
ef6.exe database update --assembly MyApp.dll --script > migration.sql
Используйте --source и --target для управления диапазоном миграций, включенных в скрипт.
эквиваленты параметров migrate.exe
Следующая таблица сопоставляет migrate.exe аргументы со своими ef6.exe database update эквивалентами:
| migrate.exe | обновление базы данных ef6.exe |
|---|---|
<assembly> |
--assembly |
<configurationType> |
--migrations-config |
<contextAssembly> |
Эквивалент отсутствует. Поместите его в тот же каталог, что и сборку, переданную в --assembly. |
/targetMigration |
--target |
/startupDirectory |
--project-dir |
/scriptFile |
--script |
/sourceMigration |
--source |
/startupConfigurationFile |
--config |
/startupDataDirectory |
--data-dir |
/connectionStringName |
--connection-string-name |
/connectionString |
--connection-string |
/connectionProviderName |
--connection-provider |
/force |
--force |
/verbose |
--verbose |
/? |
--help |