SQLite com ASP.NET Core

O objetivo deste artigo é mostrar como trabalhar com SQLite e ASP.NET Core.


O SQLite é um banco de dados “light”, como o nome sugere, e roda no mesmo servidor em que se encontra o seu site.


Desta forma, o próprio banco fica armazenado em um arquivo local e pode ser transportado de um servidor/aplicação para outro livremente.

https://pt.wikipedia.org/wiki/SQLite


Aproveitando as eleições vamos criar um projeto ASP.NET Core Web API onde vamos gravar os candidatos à presidência no SQLite e lista-los e incluir um novo candidato.

• Crie um novo projeto ASP.NET Core Web Application, de um nome para o projeto, em seguida selecione o template API e clique OK, conforme (Figura 1).

Figura 1- Criação do projeto

• Clique com o botão direito do mouse no projeto e selecione Edit csproj conforme (Figura 2).

Figura 2 – Edição do csproj

• Adicione as referências conforme (Figura 3), perceba a referência ao SqLite.

Figura 3 – Inclusão das referências.

• Em seguida salve o arquivo e perceba as referencias baixadas em Dependencies. (Figura 4).

Figura 4 – Bibliotecas no NuGet

• Crie uma pasta chamada Model e adicione uma classe chamada Candidato e crie as propriedades conforme (Figura 5).

Figura 5 – Classe Candidato

• Adicione uma pasta chamada Data e adicione uma classe de nome EleicoesDbContext, herde de DbContext e inclua o DbSet Candidato,  faça um override em OnModelCreating conforme (Figura 6). Vamos popular a tabela e criar o banco.

Figura 6 – EleicoesDbContext

• Adicione a string de conexão, abra o arquivo appsettings.json que encontra-se na raiz do projeto e adicione a string conforme (Figura 7).

Figura 7- String de conexão.

  • Abra o arquivo Startup.cs e em ConfigureServices adicione o AddDbContext conforme (Figura 8).
Figura 8 – Startup.cs / AddDbContext

• Nosso próximo passo será através de migrations criar o banco, que é o assunto principal deste artigo, de um Build na Solution, vamos conferir se está tudo OK, abra o Package Manager Console e digite os comandos abaixo. O primeiro irá gerar a Migration o segundo irá criar o banco com os dados.
dotnet ef migrations add InitialMigrations
dotnet ef database update

Através desta ferramenta podemos manipular o banco criado, conforme telas abaixo.

Figura 9 – Tabela Candidato

Figura 10 – Dados da tabela Candidato

Figura 11- Query

• Nosso posso próximo passo será criar duas Actions para testar a aplicação e o banco, vamos aproveitar a Controller Value adicionada na criação do projeto e inclua as Actions conforme (Figura 12).

Figura 12- ValuesController

• Rode o projeto e vamos testar as actions. Abra o Swagger Inspector  e conforme (Figura 13) e (Figura 14) teste o projeto. 

https://inspector.swagger.io/builder

Figura 13- Get / ObterCandidatos

Figura 14- Post / AdicionarCandidato

• Abaixo a query com o novo candidato cadastrado (Figura 15).

Figura 15 – Query

O código fonte do projeto está disponível no GitHub através do link abaixo.
Fontes: https://github.com/fabiogalante/sqlite

Dúvidas e sugestões
fabiogalantemans@aprendadotnet.com.br