Visual Studio ASP.net MVCには、DBをScaffoldしてCRUDのページを自動作成する機能があったが、dotnet core(.NET)でも、同等の機能があったので、メモ。
dotnetのCLIでDBをScaffoldしてCRUDページを作成するには、aspnet-codegeneratorツールのインストールが必要。
下記で、ツールをインストールしておく。
dotnet tool install dotnet-aspnet-codegenerator -gちなみに、このツールを動かすためには、プロジェクトにMicrosoft.EntityFramework.SQLServerかMicrosoft.EntityFramework.Sqliteパッケージの追加が必要。(ツールがMemory上にテンポラリのDBを作成して使用するようだ)
ツールを動作させる前にDbContextが必要になるので、DBのScaffolding等で作成しておく。
次に、下記コマンドを実行する。(Razorページの場合の例。ツール実行にSQLServerではなく、Sqliteを使用する場合は -sqliteも必要)
dotnet aspnet-codegenerator razorpage -m <モデル(エンティティ)名> -dc <コンテキスト名> -outDir Pages/<出力先ディレクトリ> -scripts指定したフォルダにCURDページが作成される。ちなみに、指定しない場合、ネームスペースはディレクトリ名と同様となる。
作成されたページを表示させるためには、Startup.csのConfigureServicesメソッドに、下記のようにDbContextを追加する。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<Dbコンテキスト名>();
services.AddRazorPages();
}実際にページを表示してみると、以下のような感じになる。





ちなみに、文字列の最大長や入力レンジ,入力必須などのチェックはモデルに属性を付けておけば、自動的に行ってくれる。
暫定的なメンテナンス画面が欲しい時などには使えるかな。





Users Today : 29
Users Yesterday : 11
Users Last 7 days : 214
Users Last 30 days : 824
Users This Month : 228
Users This Year : 2690
Total Users : 97205
Views Today : 30
Views Yesterday : 12
Views Last 7 days : 269
Views Last 30 days : 1034
Views This Month : 290
Views This Year : 3212
Total views : 135658
Who's Online : 0