ASP .NET Core - Usando o banco de dados MariaDB

 Neste artigo eu vou mostrar como usar o banco de dados MariaDB em um projeto ASP .NET Core 2.0 via linha de comando.

Neste artigo vou criar um projeto ASP .NET Core usando a ferramenta NET CLI e o Visual Studio Code e a seguir mostrar como usar o banco de dados MariaDB.

O que vem a ser o MariaDB ?

MariaDB é baseado no MySQL e está disponível sob os termos da licença GPL v2. É desenvolvido pela Comunidade MariaDB com o principal administrador a Monty Program Ab.

MariaDB é mantido atualizado com a última versão do MySQL.

Na maioria dos aspectos o MariaDB vai funcionar exatamente como o MySQL: todos os comandos, interfaces, bibliotecas e APIs que existem no MySQL também existem no MariaDB. Não há nenhuma necessidade de converter um banco de dados para migrar para o MariaDB; ele é um verdadeiro substituto para o MySQL e ainda possui novas funcionalidades que você pode aproveitar.

Você pode obter mais detalhes sobre o MariaDB nestes links:

  1. https://mariadb.com/
  2. https://mariadb.org/

Instalando o MariaDB

Neste artigo eu vou instalar a última versão estável do MariaDB que é a versão 10.2.11 e que pode ser obtida neste link: https://downloads.mariadb.org/mariadb/10.2.11/

Estou instalando a versão para Windows 64 bits.

Após terminar o download, você pode prosseguir através do processo de instalação. Em algum momento, o instalador solicitará uma senha de usuário root. Anote-a, pois usaremos essa senha na string de conexão do projeto.

Nota: Se você já tem o MySQL instalado verifique o nome da instância e o número da porta disponível para instalação.

Durante a instalação do MariaBD também será instalado um cliente Windows para o MariaDB e o MySQL chamado HeidiSQL. Veja alguns dos recursos do HeidiSQL :

- Conectar-se a vários servidores em uma janela
- Conectar-se aos servidores via linha de comando
- Criar e editar tabelas, views, rotinas armazenadas, triggers e eventos agendados.
- Gerar exportações de SQL
- Exportar de um servidor/banco de dados diretamente para outro servidor/banco de dados
- Gerenciar privilégios de usuário
- Importar arquivos de texto
- Exportar linhas de tabela como CSV, HTML, XML, SQL, LaTeX e Wiki Markup
- Navegar e editar dados de tabelas usando uma grade
- Tabelas de edição em massa (mover para db, mudar o engine, collation, etc.)
- Batch-insert ascii ou arquivos binários em tabelas
- Escrevr consultas com sintaxe personalizáve
- Monitorar e matar os processos do cliente
- Encontrar texto específico em todas as tabelas de todos os bancos de dados de um servidor
- Otimizar e reparar as tabelas em lote

Vamos usar o HeidiSQL mais adiante para visualizar o banco de dados e as tabelas que iremos criar no projeto.

Recursos usados:

Criando o projeto via linha de comando (NET CLI)

Abra um terminal de comandos no seu ambiente. Eu estou usando o Windows PowerShell.

Crie uma pasta onde o projeto deverá ser hospedado. Eu vou criar uma pasta usando o comando: md AspCore_MariaDB.

A seguir entre na pasta criada : cd AspCore_MariaDB

Para ver as opções de projetos digite : dotnet new

Vamos escolher o template mvc para criar um projeto ASP .NET Core MVC com autenticação individual digitando: dotnet new mvc --auth Individual

Ao final teremos o projeto ASP .NET Core MVC criado na pasta AspCore_MariaDB.

Temos assim uma aplicação funcional, na verdade , um simples projeto inicial, que é o nosso ponto de partida. Até aqui usamos a ferramenta de linha de comando NET CLI.

Neste momento podemos abrir o projeto no VS Code digitando : code . , e espiar o arquivo de projeto AspCore_Scaffolding.csproj :

Note que já temos as referências ao Entity Framework Core e suas ferramentas definidas no projeto.

Como vamos usar o MariaDB e como ele é totalmente compatível com o MySQL podemos usar o provedor MySQL Entity Framework Core.

Atualmente existem duas opções:

  1. Pomelo.EntityFrameworkCore.MySql

  2. MySql.Data.EntityFrameworkCore

Neste artigo eu vou usar o provedor MySql.Data.EntityFrameworkCore.

Para incluir uma referência ao pacote digite o comando no terminal : dotnet add package MySql.Data.EntityFrameworkCore

Vamos incluir também uma referência ao Entity Framework Core digitando o comando :  dotnet add package Microsoft.EntityFrameworkCore

Ajustando os arquivos Startup e appsettings para usar o MariaDB

Quando criarmo o projeto usando o template mvc com autenticação individual, a aplicação foi configurada para usar o banco de dados Sqlite.

Podemos conferir isso abrindo o arquivo Startup.cs e verificar o código no método ConfigureServices:

Vamos alterar o código para usar o MySQL :

Agora precisamos alterar a string de conexão definida no arquivo appsettings.json. Abaixo vemos o código inicial e o código usando a string de conexão com o MariaDB:

String de conexão inicial usada para o Sqlite String de conexão usada para o MariaDB

Antes de prosseguir vamos dar um build no projeto para verificar se não existe nenhum erro. Digite o comando: dotnet build

Criando os modelos do EF Core

Agora que já configuramos a string de conexão , o provedor e referenciamos o pacote para o MariaDB vamos criar os scripts para gerar o banco de dados e as tabelas usando o Migrations.

Vamos iniciar criando o modelo para as entidades do Identity digitando o comando:  dotnet ef migrations add CriarModelosIdentity

Agora vamos abrir o projeto no VS Code e verificar na pasta Migrations que foi criada com o script da migração no arquivo : 20171215171106_CriarModelosIdentity.cs

Vamos aplicar a migração para criar o banco de dados e as tabelas usando o comando : dotnet ef database update

Voilá !!!

Agora vamos usar o cliente Windows HeidiSQL e criar uma sessão com o banco de dados mariadbteste definido na string de conexão informando o usuário root e sua senha:

Prosseguindo podemos ver as tabelas do Identity criadas no banco de dados mariadbteste conforme abaixo:

E assim vimos como é simples usar o banco de dados MariaDB em uma aplicação ASP .NET Core.

Antes, como ministros de Deus, tornando-nos recomendáveis em tudo; na muita paciência, nas aflições, nas necessidades, nas angústias,Como contristados, mas sempre alegres; como pobres, mas enriquecendo a muitos; como nada tendo, e possuindo tudo. 
2 Coríntios 6:4,10

 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti