Visual Studioを使用して、特定の移行ですべての環境を更新します。以下のコマンドを使用して正常に機能していました。
update-database -Migration initMigrationProduct -c ProductContext -Environment Production
Ef core 2.0では、このコマンドが変更され、パラメーター-Environmentが削除されました。ドキュメントでそれは言った。
「2.0では、代わりにASPNETCORE_ENVIRONMENT環境変数を使用できます。」
https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
私は今、あらゆる種類の方法を試しましたが、update-database
ef core 2.0では、ASPNETCORE_ENVIRONMENT
変数。レジストリにアプリケーションのプロパティを設定しようとしました。
これを異なる環境の更新で動作させるために必要なことを教えてください。
異なるランチ設定でアプリケーションを起動した場合、動作しますが、パッケージマネージャーコンソールを使用しません。
Visual Studioでパッケージマネージャーを使用することは、私にとって行き詰まりでした。解決策は次のとおりです。
ソリューションのスタータープロジェクトの.csprojに以下を追加します。
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
コマンドtool(cmd)を開き、開始プロジェクトの.csprojと同じフォルダーに移動します(デフォルトのプロジェクト)。
Anton Toshikが提案したコマンドを実行しますset ASPNETCORE_ENVIRONMENT=Production
4.コマンドdotnet ef database update initMigrationProduct -c ProductContext
を実行します。これで動作します。
[〜#〜] remark [〜#〜]:このコマンドでは、database
とupdate
が場所を変更して以来以前のバージョン。そして、移行のための引数/コードはありません。この説明の後、ドキュメントでさらに説明します。
https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
Visual Studio内のPackage Manager Console(PMC)でASPNETCORE_ENVIRONMENT変数をProductionに設定するには、最初にこのコマンドを使用します
$env:ASPNETCORE_ENVIRONMENT='Production'
その後、使用することができます
Update-Database
通常は。
EntityFrameworkCore#6846 によると、正しいソリューションは--environment
オプションを使用することであり、dotnet ef
コマンドはASPNETCORE_ENVIRONMENT
を尊重しません。
dotnet ef database update --environment Production