.NET CoreでPostgreSQLとデータをやりとりするときのメモ

はじめに

現在、.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のつぶやき