WindowsでASP.NET Core+SQLiteの開発環境をつくる

オウルです。

今回は、ASP.NET Core 3.1 MVC アプリの開発環境を Windows に準備します。

RDBMS は本業で SQLServer を10年近く使用しているため、SQLServer でと考えていましたが、SQL Server on Linux を動作させるためのマシンのメモリが、最低2GB要求されるため、今回は SQLite を使用します。

Windows 開発環境を構築

ローカル環境

OS Windows10
IDE Visual Studio 2019 v16.4~
SDK ASP.NET Core 3.1
RDBMS SQLite 3.30.1

.NET Core 3.1 SDK インストール

Download .NET Core 3.1 から、SDK をダウンロードして、インストールします。

SQLite CommandLine Tools インストール

SQLite Download Page から、sqlite-tools-win32-x86-3300100.zip をダウンロードして、任意の場所に展開します。CLI を使いやすいようにパスを通しておきましょう。

ASP.NET Core MVC プロジェクトの作成

プロジェクト作成の手順が分からない場合は、次の記事を参考にしてください。

ASP.NET Core 3.1 の要件

Visual Studio 2019 でASP.NET Core 3.1 を使用する場合には v16.4 以上である必要があります。要件を満たしていない場合は、「ヘルプ / 更新プログラムの確認」より Visual Studio 2019 をアップデートしてください。また、このアップデートは、OS 再起動を求められます。

SQLite パッケージインストール

NuGetパッケージマネジャーより、次のパッケージをインストールします。

  • Microsoft.EntityFrameworkCore.Sqlite

NLog パッケージインストール

ASP.NET Core では、組み込みやサード パーティ製のさまざまなログプロバイダーと連携するログ API がサポートされています。公式ページにはログプロバイダーの一覧があります。その中で便利な NLog を使用します。

NLog の設定方法は、Getting started with ASP.NET Core 3 を参考にしてください。

ASP.NET Core 2.x の NLog は、次の記事にまとめています。

Startup.cs

SQLite を使用するように、Startup.cs を変更します。

appsettings.json

SQLite を使用するように、”DefaultConnection” を変更します。

マイグレーション

Visual Studio のパッケージマネジャーコンソールからプロジェクトファイルがあるフォルダに移動して、次のコマンドを実行します。

”dotnet ef database update” 実行時に僕の環境では、”System.NotSupportedException: SQLite does not support this migration operation (‘AlterColumnOperation’).” が発生。https://github.com/aspnet/AspNetCore.Docs/issues/11268 にあるように、”dotnet ef migrations remove” 実行後に、再度 ”dotnet ef database update” を実行すると成功しました。

デバッグ

IIS Expresss でデバッグを実行します。トップページの Register リンクをクリックして、アカウントを登録します。

上記の図のようにログイン状態になると、アカウント登録は成功です。一応データベースの登録内容を確認します。

今回作成した ASP.NET Core MVC アプリを WSL Ubuntu + Nginx でホストするのは、こちらをご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA