C#: PostgreSQL e .NET Core 2.1

Certas vezes é inviável contar com um banco de dados pago quando o projeto está iniciando. Mas nem por isso não será preciso que seja um repositório de dados profissional. Portanto, neste artigo ensino como usar o banco de dados relacional PostgresSQL com o .NET Core 2.1, ainda usando Entity Framework Core e Migrations.

Antes de começar você vai precisar:

  1. Ter o PostgreSQL instalado, com a senha do localhost como 123456,
  2. Ter o Visual Studio Code intalado,
  3. Ter o .NET Core 2.1 SDK instalado.

Criando o projeto

Crie uma pasta vazia chamada PostgreSqlNetCore e dentro dela crie uma outra chamada src. E na pasta raíz, crie o arquivo da solução, usando o comando:

Abra a a pasta src e crie dentro dela a pasta PostgreSqlNetCore.Domain, e neste diretório execute o comando abaixo para criar o projeto do domínio:

Crie uma pasta chamada Entities, e adicione duas classes, uma de pessoa e outra de categoria.

Agora vamos criar o projeto que conterá nossa camada de acesso a dados, migrations e CRUD. Abra a a pasta src e crie dentro dela a pasta PostgreSqlNetCore.Infra.Data, e neste diretório execute o comando abaixo para criar o projeto de domínio:

Instale os pacotes conforme a seguir:

Npgsql.EntityFrameworkCore.PostgreSQL

Microsoft.Extensions.Configuration.FileExtensions

Microsoft.Extensions.Configuration.Json

Adicione a referência ao projeto de domínio, com o comando:

Crie uma pasta chamada Context, e adicione uma classe chamada PostgreSqlContext.

Abra a a pasta src e crie dentro dela a pasta PostgreSqlNetCore.Prompt, e neste diretório execute o comando abaixo para criar o projeto de domínio:

Instale o pacote Microsoft.EntityFrameworkCore.Design.

Adicione referência ao projeto de Dados.

Na raiz do projeto, adicione um arquivo chamado appsettings.json, e altere conforme a seguir:

Adicione ainda na raiz do projeto a classe DesignTimeDbContextFactory.

Agora é preciso associar todos os projetos na solução, e para isso, abra a pasta raiz no terminal, e execute os comando a seguir:

Agora é só executar o comando para criar a migração.

E então atualizar o banco de dados.

E enfim podemos ver o banco de dados com as nossas tabelas criadas e o versionamento das migrations.

Acesse o repositório no githus deste projeto no link a seguir:

https://github.com/tiagopariz/PostgreSqlNetCore

Obrigado, e até a próxima.