Вот функция PowerShell, которая выполняет эквивалент update-database
в консоли диспетчера пакетов из обычного окна PowerShell, используя EF xxx
. Я использую ее из командной строки как часть 'процесс полной сборки на моем компьютере разработчика;
function Update-Database($solutionDir, $projectBinDir, $assemblyName, $appConfigFile)
{
$efMigrateExe = "$solutionDir\packages\EntityFramework.*\tools\migrate.exe"
Write-Host "Updating Entity Framework Database"
Write-Host " Migrate.exe at $efMigrateExe"
Write-Host " EF project binary at $projectBinDir"
Write-Host " EF config at $appConfigFile"
. "$efMigrateExe" "$assemblyName" /startupConfigurationFile="$appConfigFile" /startupDirectory="$projectBinDir"
}
Параметры:
$solutionDir
- каталог, в котором находится ваше решение;родительский файл папки packages
.$projectBinDir
- каталог <something>\bin\debug
, содержащий сборку с вашим DbContext
.$assemblyName
- имя файла сборки, например MyEfProject.dll
appConfigFile
- имя файла app.config
или web.config
, который содержит строки подключения и т. Д. Эквивалентно использованию -StartupProjectName
в консоли диспетчера пакетов.