はじめに
現在、.NET CoreでAPIを作っているのですが、PostgreSQLを使おうと思った際の作業メモです。
開発環境について
開発環境は、以下の通りです。
Microsoft Visual Studio Community 2017 ( Version 15.7.3 )
.NET Core 2.0
1.プロジェクトの作成
まずは、プロジェクトを作成します。
今回はAPIを作ろうと思いましたので、
「Visual C#」 – 「.NET Core」 – 「ASP.NET Core Web アプリケーション」
でプロジェクトを作り、次のダイアログで「API」を選択しました。
2.NuGetからパッケージをインストール
次に「依存関係」を右クリックして「NuGet パッケージの管理(N)…」をクリックします。
「参照」タブの「検索」に、以下のパッケージ名を入力して検索します。
- Npgsql.EntityFrameworkCore.PostgreSQL
- Npgsql.EntityFrameworkCore.PostgreSQL.Design
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.Tools
3.モデルの作成
DBのテーブルと連携するモデルクラスを作成します。
publicなプロパティを実装するだけの簡単なクラスです。
4.DbContextを継承したクラスの作成
DbContextを継承したクラスを作成します。
実装例は、Gistにアップしていますので、そちらをご確認ください。
223n / Context.cs / GitHubGist
5.コントローラの作成
コントローラは、「新しい項目の追加」から、「Visual C#」 – 「ASP.NET Core」 – 「API コントローラー クラス」を選択して作成すると、テンプレート化されているので手軽な気がします。
実装例は、Gistにアップしていますので、そちらをご確認ください。
223n / UsersController.cs / GitHubGist
6.テーブルの作成
テーブルをPostgreSQLのDBに作成します。
あらかじめ作成しておかないと、実行時にエラーになってしまいます。
実行してみる
以上で、実装は完了です。
実行してみて正常に動作するか確認してみましょう。
参考
[.NET Core]EntityFramework Core2.1でGROUP BY句がSQLで実行されるようになったので検証してみた / あるSEのつぶやき