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.

imagem

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!