MongoDB:Muss meine Domäne/Kernschicht bei Verwendung der Onion-Architektur auf die MongoDB-DLLs verweisen?

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

  •  13-12-2019
  •  | 
  •  

Frage

MongoDB verfügt über einen eigenen ObjectId-Typ, den es als Standardprimärschlüssel verwendet.Ich versuche, eine Anwendung einzurichten, die mithilfe der Onion-Architektur mit MongoDB als Persistenz-Engine in der Infrastrukturschicht entwickelt wurde.Wenn meine POCO-Klassen in meiner Domänenschicht definiert sind, aber den ObjectID-Typ von MongoDB für Primärschlüssel verwenden, muss ich dann MongoDB als Abhängigkeit zu meiner Domänenschicht hinzufügen?

War es hilfreich?

Lösung

Sie sollten nirgendwo einen Verweis auf MongoDB benötigen, außer auf der äußersten Ebene.In der Zwiebelarchitektur wird Datenpersistenz als Infrastruktur betrachtet.Ich möchte, dass MongoDB Teil einer Repository-Implementierung ist, die im Domänenmodell definierte Repository-Schnittstellen implementiert.

MongoDB-Dokumente haben eine _id Feld, das es eindeutig identifiziert. Siehe hier:

Der _id Der Wert kann von einem beliebigen Typ sein, mit Ausnahme von Arrays, solange er eindeutig ist.Wenn Ihr Dokument über einen natürlichen Primärschlüssel verfügt, der unveränderlich ist, empfehlen wir Ihnen, diesen zu verwenden _id anstelle der automatisch generierten IDs.

Lassen Sie sich nicht von Ihrem Beharrlichkeitsmechanismus herumtreiben!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top