MONGODB: Usando l'architettura di cipolle, il mio dominio / strato principale deve fare riferimento ai DLL mongodb?

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

  •  13-12-2019
  •  | 
  •  

Domanda

Mongodb ha il proprio tipo di obiettivi che utilizza come chiave primaria predefinita.Sto cercando di impostare un'applicazione progettata utilizzando l'architettura di cipolle con MongoDB come motore di persistenza nello strato dell'infrastruttura.Se le mie classi POCO sono definite nel mio livello di dominio, ma usa il tipo ObjectId del tipo di mongodb per le chiavi primarie, questo mi costringerà ad aggiungere mongodb come dipendenza dal mio livello di dominio?

È stato utile?

Soluzione

Non è necessario un riferimento a mongodb ovunque tranne lo strato esterno.Nell'architettura di cipolle, la persistenza dei dati è considerata infrastruttura.Avrei ricevuto MongoDB parte di un'implementazione del repository che implementa le interfacce del repository definite nel modello di dominio.

I documenti mongodb hanno un campo _id che lo identifica in modo univoco. Vedi qui :

.

Il valore _id può essere di qualsiasi tipo, diverso dagli array, fino a quando è un unico.Se il tuo documento ha una chiave primaria naturale immutabile, ti consigliamo di utilizzarlo in _id anziché gli ID generati automaticamente.

Non lasciare che il tuo meccanismo di persistenza ti spinge!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top