.NET

19 fev, 2018

Utilizando MariaDB com ASP.NET Core 2.0

Publicidade

Sobre o ASP.net Core e MariaDB

Pelo fato do ASP.net Core ser multi-plataforma, podemos nos beneficiar da versatilidade em poder escolher hospedagens que não sejam apenas na plataforma Windows. Com isso, venho explorando opções de utilização de sistemas gerenciadores de banco de dados que não sejam o SQL Server, que quase sempre é a primeira escolha de quem adota o framework .NET. Uma opção muito boa é o MariaDB.

O MariaDB é um banco de dados construído pela comunidade MySQL que tem como objetivo manter-se gratuito (sob GNU GPL). O desenvolvimento foi assumido pelos desenvolvedores originais do MySQL após a aquisição dele pela Oracle. O MariaDB é altamente compatível com o MySQL, já que ele basicamente é um fork.

Para quem não o conhece, ele possui case de sucesso com um dos maiores (se não for o maior) e-commerces do mundo, do gigante grupo Alibaba. O grupo inclusive custeou U$ 27 milhões no projeto e o utiliza em produção.

Como instalar o MariaDB

Você pode encontrar o MariaDB disponível para download no site oficial, na seção de downloads:

Efetue a instalação no seu sistema operacional (aqui utilizaremos Windows 10).

E defina uma senha padrão para o usuário ‘root’.

Criando a aplicação ASP.NET Core

Para criar a aplicação, utilizaremos o Visual Studio Code. Ao abrir o editor, abra o terminal integrado.

Visual Studio Code – download em https://code.visualstudio.com/download

Selecione um local para criar sua aplicação. Criaremos uma aplicação MVC com autenticação individual. Para isso, digite a linha abaixo no terminal integrado:

dotnet new mvc --name MariaDB --auth individual

Se tudo ocorrer bem, você verá uma mensagem conforme abaixo:

Agora, abra o projeto no Visual Studio Code, indo em File > Open Folder (Arquivo, Abrir Pasta) e selecione a pasta do projeto.

Adicionando pacote para comunicação com o MariaDB

O MariaDB tem as mesmas compatibilidades que o MySQL. Dessa forma, se um provider do MySQL funciona bem, o mesmo acontecerá no MariaDB. Neste exemplo, usaremos o pacote “Pomelo.EntityFrameworkCore.MySql”.

Para adicionar a referência do pacote, digite no terminal do Visual Studio Code dentro da pasta do projeto.

Alterando a classe Startup do projeto MVC

Por padrão, o template do MVC está configurado no arquivo de Startup para utilizar o Sqlite. Dessa forma, será necessário alterar o método ConfigureServices e solicitar a configuração de leitura da connection string do MySQL. Para isso, abra a classe Startup e altere a linha de:

Para:

E agora precisaremos alterar a string de conexão no arquivo appsettings.json para corrigir a conexão do banco MariaDB, informando a senha criada durante a instalação do banco. Atente-se também ao nome do servidor se for diferente em sua máquina.

Criação dos modelos do Entity Framework

Com tudo configurado, agora precisamos criar os scripts de migração do banco. Para isso, informe o seguinte comando no Visual Studio Code, no terminal:

E aplique o migration na base, executando o comando no terminal:

Visualizando a base de dados com o MySQL Workbench

Nesse momento, podemos visualizar que as tabelas foram criadas no MariaDB. Neste artigo estou utilizando o MySQL Workbench para conectar na base de dados.

Executando a aplicação ASP.net

Agora precisamos executar a aplicação. Para isso, execute o comando no terminal do Visual Studio Code:

A aplicação foi iniciada e está disponível na URL informada:

Vamos agora criar um novo usuário e analisar se o mesmo será inserido na base de dados.

Se a criação do usuário foi feita com sucesso, podemos analisar a tabela aspnetusers no banco MariaDB.

Conclusão

Neste artigo demonstramos que mesmo se tratando de um aplicativo .NET, temos hoje muitas possibilidades de utilizarmos diversas opções de tecnologias e banco de dados diferentes da principal opção que normalmente é o SQL Server. O ASP.net core é um grande advento pois nos fornece um leque maior e inúmeras opções com portabilidade de plataformas.

Além da opção de banco de dados, a opção de hospedagens também se tornam melhores, visto que normalmente as opções Linux são mais baratas que hospedagens Windows.

Fontes

Alibaba group leads $27M funding round for MariaDB: