Uma boa alternativa para quem não pretende utilizar o SQLServer para montar 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 sobre qual nuvem utilizar. Microsoft Azure, Amazon Web Services, etc.
Configuração
- Crie um ASP.NET 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á migrando 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.