MongoDB:à l'aide de l'oignon de l'architecture, de mon domaine/de la couche de base besoin de faire référence à la MongoDB dll?
-
13-12-2019 - |
Question
MongoDB a son propre ObjectId type qu'il utilise par défaut de la clé primaire.Je suis en train de configurer une application conçue à l'aide de l'Oignon de l'Architecture avec MongoDB que la persistance moteur dans la couche de l'infrastructure.Si ma POCO classes sont définies dans mon domaine de couche, mais l'utilisation de MongoDB ObjectID type pour les clés primaires, qui me force à ajouter MongoDB comme une dépendance sur ma couche domaine?
La solution
Vous ne devriez pas besoin d'une référence à MongoDB n'importe où à l'exception de l'extérieure de la couche la plus.Dans l'oignon de l'architecture, de la persistance des données est considéré comme de l'infrastructure.J'aurais MongoDB faire partie d'un référentiel de mise en œuvre qui met en œuvre le référentiel des interfaces définies dans le modèle de domaine.
MongoDB documents ont une _id
le terrain qui l'identifie. Voir ici:
L'
_id
la valeur peut être de tout type, autres que les tableaux, tant qu'il est unique.Si votre document contient un naturel clé primaire qui est soit immuable, nous vous recommandons de l'utiliser dans_id
au lieu de l'généré automatiquement id.
Ne laissez pas votre mécanisme de persistance de vous pousser autour de!