1

MongoDB には、デフォルトの主キーとして使用する独自の ObjectId タイプがあります。インフラストラクチャ層の永続化エンジンとして MongoDB を使用して、Onion Architecture を使用して設計されたアプリケーションをセットアップしようとしています。POCO クラスがドメイン層で定義されているが、主キーに MongoDB の ObjectID タイプを使用している場合、ドメイン層への依存関係として MongoDB を追加する必要がありますか?

4

1 に答える 1

2

最外層以外のどこにも MongoDB への参照は必要ありません。オニオン アーキテクチャでは、データの永続性はインフラストラクチャと見なされます。MongoDB を、ドメイン モデルで定義されたリポジトリ インターフェースを実装するリポジトリ実装の一部にします。

MongoDB ドキュメントには、_idそれを一意に識別するフィールドがあります。 ここを参照してください

_id値は、一意である限り、配列以外の任意の型にすることができます。ドキュメントに不変の自然な主キーがある場合_idは、自動生成された ID の代わりにそれを使用することをお勧めします。

永続化メカニズムに押し付けられないようにしてください。

于 2012-10-06T15:06:48.560 に答える