この記事は
C# Advent Calendar 2019 の12/17
の記事です
2019/12
.NET Core 3.1 LTSが公開になりました。
これにより、.NET Core 3.1は3年間のサポート対象になります
今月自分の関わるプロジェクトを
.NET Core 2.2 ⇒3.1
EfCore 2.0 ⇒ 3.0 に変更を行いました。
しかしCIで使っている Azure PipeLineが、.NET Core 3.1 規定値で対応していなかった為、
.NET Core 3.1で動くように変更しました。
そのメモを残します。
(2019/12/9現在)Azure PipeLineでは .NET Core 3.0 のCLIが適用されています
.NET Core 3.1 アプリ デフォルト設定ではCIできません。
EFCore 3.0 から デフォルトでEFCore CLI がインストールされていないため
Migration を実行するために CLIを別途インストールする手順を加える必要があります。
簡単に言えば 以下の作業を追加するだけで恐らくCIできるようになると思います。
Agent jobをプラスして
バージョンで 3.1.x を指定して(一応Include Preview Versionsをつけて)
これで、設定完了です。
EF Core を使って DB Migrationをするには Command Lineを使うのが簡単です。
Command LineをAdd して
EFCore 3.0 の場合は
dotnet tool install --global dotnet-ef
を使って ツールをインストールしたのち、Migration Scriptを実行します。
.NET Core 2.xの場合は、最初の.Use NET Core で
efCore CLIツールがもとから入ってるので
DB Migrationに
dotnet tool install --global dotnet-ef
コマンドは不要です。
↓流れとしてはこんな感じになります