C#.NET Core + EntityFrameworkCore

こんばんは。今回は、EntityFrameworkCoreを紹介したいと思います。

 

EntityFrameworkCore

EntityFrameworkの.NET Core版であり、オープンソースであり、プラットフォームに依存しません。

一言でいうのが難しいのですが、.NET開発におけるデータアクセス機能なのであり、ORマッパーでもあり、データマイグレーションツールであったりもします。

EntityFrameworkを使用した開発方法で、データベースファースト、モデルファースト、コードファーストという開発スタイルがあります。

データベースファーストは、データベースからデータモデルクラスを作成します。下記のようなコマンドを実行することでテーブルに対応するデータモデルクラスとコンテキストクラスが作成されます。多くの場合のシステム開発はこのスタイルだと思います。

dotnet ef dbcontext scaffold [接続文字列] Microsoft.EntityFrameworkCore.SqlServer -o Models

モデルファーストは、データベースが作成されていない状態でモデルクラスから作成します。ビジュアルツールを使用してモデルを作成するようです。VSCode使用者としてはよくわかりません。

コードファーストは、データベースが作成されていない状態でソースコードからデータベースを作成します。今回サンプルプログラムを作成してみたいと思います。

 

コードファーストサンプルアプリ

参考サイト:新しいデータベースを使用した ASP.NET Core での EF Core の概要

まずはプロジェクトファイルに必要な記述を追加して「dotnet restore」します。

 

EntityFrameworkのツールをインストールします。

EntityFrameworkのツールを使用してデータベースを作成し、テーブルを作成します。

データベースの作成が完了しました。ログを見てみるとテーブル作成のDDLなどが流れていることが確認できます。

次に「dotnet tool install -g dotnet-aspnet-codegenerator」でコントローラーとビューを作成するツールをインストールし、作成します。

作成に成功しました。(必要なパッケージがなかったりで何度かエラーになりましたが)

下記が自動作成されたBlogsControllerになります。

ビューはCRUDに対応したビューが作成されます。「dotnet run」でアプリケーションを起動します。

こんな感じで画面が表示されます。

登録画面になります。

実際に登録してみました。問題なく動作しました。削除も。

おわりに

今日は、EntityFrameworkCoreを紹介しました。コードファーストでサンプルアプリを作成しました。コードを書くことでEntityFrameworkCoreがデータベースを作成してくれました。

 

“C#.NET Core + EntityFrameworkCore” への 0 件のフィードバック

コメントを残す

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