MongoDB:タマネギアーキテクチャの使用、ドメイン/コアレイヤーはMongoDB DLLを参照する必要がありますか?
-
13-12-2019 - |
質問
MongoDBには、デフォルトの主キーとして使用する独自のObjectID型があります。Infrastructure LayerのPersistenceエンジンとしてMongoDBを使用して、ONIONアーキテクチャを使用して設計されたアプリケーションを設定しようとしています。Pocoクラスが私のドメイン層で定義されていますが、主キーにMongoDBのObjectID型を使用している場合、MongoDBをマイドメインレイヤに依存して追加するように強制しますか?
解決
最新のレイヤー以外のMongoDBへの参照を必要としないはずです。オニオンアーキテクチャでは、データの持続性はインフラストラクチャと見なされます。MongoDBがドメインモデルで定義されているリポジトリインタフェースを実装するリポジトリ実装の一部になるでしょう。
MongoDB文書には、それを一意に識別する_id
フィールドがあります。こちらを参照してください:
_id
値は、一意である限り、アレイ以外の任意のタイプのものです。あなたの文書に不変の自然な主キーがある場合は、自動的に生成されたIDの代わりに_id
で使用することをお勧めします。
あなたの持続性メカニズムをあなたに押し込みましょう!
所属していません StackOverflow