---
title: ".NET CoreでPostgreSQLとデータをやりとりするときのメモ | C#もぐもぐ"
description: "C#をもぐもぐしているblog"
url: "https://blog.223n.tech/posts/75/"
---

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

2018年6月17日

[C#](https://blog.223n.tech/tags/C%23/) [.NET Core](https://blog.223n.tech/tags/.NET%20Core/) [PostgreSQL](https://blog.223n.tech/tags/PostgreSQL/) [Entity Framework Core](https://blog.223n.tech/tags/Entity%20Framework%20Core/)

## はじめに

現在、.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](https://gist.github.com/223n/4970251e3d4672dce067eac747c16a15)

## 5．コントローラーの作成

コントローラーは、「`新しい項目の追加`」から、「`Visual C#`」-「`ASP.NET Core`」-「`API コントローラー クラス`」を選択して作成すると、テンプレート化されているので手軽な気がします。

実装例は、Gistにアップしていますので、そちらをご確認ください。

[223n / UsersController.cs / GitHubGist](https://gist.github.com/223n/862235f05a5e5251ea9866d6a81ccb69)

## 6．テーブルの作成

テーブルをPostgreSQLのDBに作成します。

あらかじめ作成しておかないと、実行時にエラーになってしまいます。

## 実行してみる

以上で、実装は完了です。

実行してみて正常に動作するか確認してみましょう。

## 参考

[\[.NET Core\]EntityFramework Core2.1でGROUP BY句がSQLで実行されるようになったので検証してみた / あるSEのつぶやき](http://fnya.cocolog-nifty.com/blog/2018/06/net-coreentityf.html)

[記事一覧に戻る](https://blog.223n.tech/posts/)
