Korzystanie z ef6.exe

Note

W tym artykule przyjmuje się, że wiesz, jak korzystać z migracji Code First w podstawowych scenariuszach. Jeśli nie, przed kontynuowaniem przeczytaj Code First Migrations.

Migracje Code First umożliwiają aktualizowanie bazy danych z poziomu programu Visual Studio, ale migracje można też uruchamiać z wiersza polecenia za pomocą ef6.exe. To narzędzie zastępuje migrate.exe.

Znajdź ef6.exe

Po zainstalowaniu pakietu Entity Framework przy użyciu narzędzia NuGet element ef6.exe znajduje się w folderze tools pakietu NuGet. W przypadku funkcji PackageReference pakiet jest przechowywany w folderze pakietów globalnych. Przykład:

%USERPROFILE%\.nuget\packages\entityframework\6.5.2\tools\net45\any\ef6.exe

Zastąp 6.5.2 element wersją programu Entity Framework zainstalowaną w projekcie.

Wyświetlanie opcji

ef6.exe database update --help

Przejście na najnowszą wersję migracji

ef6.exe database update --assembly MyMvcApplication.dll --config ..\web.config

Wymagany jest zestaw zawierający migracje. Inne ustawienia używają konwencji, gdy nie są określone.

Migrowanie do określonej migracji

ef6.exe database update --assembly MyApp.exe --config MyApp.exe.config --target AddTitle

Użyj polecenia --target , aby zastosować wszystkie migracje za pośrednictwem określonej migracji.

Określanie katalogu projektu

ef6.exe database update --assembly MyApp.exe --config MyApp.exe.config --project-dir C:\MyApp

Użyj --project-dir polecenia , aby ustawić katalog projektu używany do rozwiązywania zależności i względnych ścieżek plików.

Określanie konfiguracji migracji do użycia

ef6.exe database update --assembly MyAssembly.dll --migrations-config CustomConfig --config ..\web.config

Jeśli zestaw zawiera wiele klas konfiguracji migracji, użyj --migrations-config polecenia , aby określić, który z nich ma być używany.

Podaj parametry połączenia

ef6.exe database update --assembly BlogDemo.dll --connection-string "Data Source=localhost;Initial Catalog=BlogDemo;Integrated Security=SSPI" --connection-provider System.Data.SqlClient

Jeśli podasz parametry połączenia, musisz również podać nazwę dostawcy.

Generowanie skryptu SQL

Użyj --script, aby zapisać skrypt migracji SQL na standardowe wyjście. Przekieruj dane wyjściowe, aby zapisać skrypt w pliku:

ef6.exe database update --assembly MyApp.dll --script > migration.sql

Użyj instrukcji --source i --target , aby kontrolować zakres migracji uwzględnionych w skryscie.

odpowiedniki opcji migrate.exe

Poniższa tabela mapuje migrate.exe argumenty na ich ef6.exe database update odpowiedniki:

migrate.exe aktualizacja bazy danych ef6.exe
<assembly> --assembly
<configurationType> --migrations-config
<contextAssembly> Brak odpowiednika. Umieść go w tym samym katalogu co zestaw przekazany do --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