Uma boa alternativa para quem não pretende utilizar o SQLServer para montar os seus projetos é utilizar um banco NoSQL, neste caso vamos utilizar o MongoDB para sair um pouco do tradicional.
MongoDB
MongoDB nada mais é do que um banco de dados orientado a documentos classificado como NoSQL, não relacional.
Hospedagem
Você pode utilizar o mLab. Ele possui uma versão free e dá poder de escolha de qual nuvem utilizar, Microsoft Azure, Amazon Web Services, etc.
Configuração
- Crie um ASP.NET Core Web Application utilizando ASPNET CORE 2;
- Um detalhe importante, na configuração do projeto, opte pela configuração Change Authentication para Individual User Accounts como exibido na imagem a seguir.
Statup.cs
Configure então o arquivo conforme o exemplo a seguir:
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentityWithMongoStores(Configuration.GetConnectionString("DefaultConnectionMongoDB"))
.AddDefaultTokenProviders();
// Add application services.
services.AddTransient<IEmailSender, EmailSender>();
services.AddMvc();
}
ASPNET CORE 1 X ASPNET CORE 2
Essa conexão com o MongoDB existe uma biblioteca no NuGet que funciona muito bem para o ASPNET CORE 1 (Microsoft.AspNetCore.Identity.MongoDB
), mas para o 2 não funciona.
Então eu fiz a migração do projeto (nada complexo) e deixei funcionando para o ASPNET CORE 2. Você pode fazer baixar o projeto do git aqui.
Como o projeto começa com o nome Microsoft não tenho permissão para publicar no NuGet, mas é uma boa saída para quem está migrande e quer utilizar a biblioteca.
Projeto
Para apoiar, criei um projeto de exemplo e já disponibilizei no github
Este projeto possui a referência para a biblioteca que funciona para o ASPNET CORE 2, mas ela não está junto no commit, então, baixe as duas e referencie conforme a sua necessidade.
Conclusão
Para quem quer controlar os usuários, claims entre outras informações sem utilizar o Entity Framework ou até mesmo o SQLServer, pode então utilizar o MongoDB sem medo.