MongoDB:usando cebola arquitetura, que faz o meu domínio/camada de núcleo precisa referenciar o MongoDB dlls?

StackOverflow https://stackoverflow.com//questions/12711830

  •  13-12-2019
  •  | 
  •  

Pergunta

O MongoDB tem o seu próprio ObjectId tipo que utiliza como padrão de chave primária.Eu estou tentando configurar uma aplicação desenvolvida utilizando a Cebola Arquitetura com o MongoDB como o mecanismo de persistência a camada de infra-estrutura.Se o meu POCO classes são definidas em meu domínio camada, mas usar o MongoDB é ObjectID tipo de chaves primárias, será que me força para adicionar o MongoDB como uma dependência no meu domínio camada?

Foi útil?

Solução

Você não deve precisar de uma referência para o MongoDB em qualquer lugar, exceto a mais externa da camada.A cebola arquitetura, a persistência de dados é considerado infra-estrutura.Eu teria MongoDB ser parte de um repositório de implementação que implementa repositório de interfaces definidas no modelo de domínio.

MongoDB documentos têm um _id campo que identifica com exclusividade. Veja aqui:

O _id o valor pode ser de qualquer tipo, diferente matrizes, desde que seja de um único.Se o seu documento tiver naturais de chave primária que é imutável, nós recomendamos que você use-o na _id em vez de a gerado automaticamente ids.

Não deixe que o seu mecanismo de persistência de empurrá-lo de volta!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top