Neste artigo, vamos explicar uma estratégia para usar seu MongoDB sem depender tanto das Models do seu projeto. Essa dependência só te atrapalha, mas não se preocupe, vamos ajudar a resolver isso.
Separando as Coisas
Adicionar persistência ao MongoDB parece simples: é só colocar um enfeite na Model. Mas se você quer algo mais sólido, é hora de separar a Model da Persistência. Vamos lá, pode confiar!
Exemplo 1 - Atributos de Serialização
Lembrando como era fácil antigamente... Este exemplo é para os saudosistas:
Não é grazinha? Esses atributos são tudo que você precisa para alimentar o banco com suas informações. Fique atento:
BsonId
é essencial, como café da manhã para programadores. Sem ele, Mongo te manda passear.BsonRequired
é seu lembrete diário: há campos que você não pode esquecer.
Exemplo 2 - Criar um Arquivo de Mapeamento
Agora, deixando a nostalgia de lado, vamos encarar os fatos: suas Models e Attributes estão misturados demais. Para organizar, crie um arquivo de mapeamento:
Veja só! Seu modelo de domínio agora está livre da persistência. Basta chamar ClienteMap.Configure()
no seu arquivo Startup.cs para configurar tudo ao iniciar o app.
Extras - ASP.NET Core
Configurar Persistência no Startup.cs do ASP.NET Core é importante. Não é só código bonito, é gestão também.
Primeiro, crie uma classe de mapeamento:
Depois, chame MongoDbPersistence.Configure()
no Startup.cs como se pedisse um café expresso:
Pronto, respire fundo e encare o código do dia. E lembre-se: antes de achar que o MongoDB vai resolver tudo em uma consulta, organize seu código. Programação é organização, não só café e virar a noite!