CQS を使用してエンティティを更新する方法を理解しようとしています。ユーザーが特定のエンティティのいくつかのプロパティを更新できる UI があるとします。送信時に、バックエンドで更新コマンドが作成されてディスパッチされます。
私がよく理解していない部分は次のとおりです。
- ディスパッチャーからメッセージを受信した cmd ハンドラーは、DB から既存のエンティティを取得し、受信した在庫アイテムのプロパティをマップして保存しますか? または
- 既存のアイテムの取得は、cmd msg のディスパッチの前に行われ、そこにアタッチされますか (取得されたエンティティは、次にディスパッチされる cmd にアタッチされます)?
私の理解では、CQS を使用すると、後で (必要に応じて) CQRS に簡単に移行できますか? あれは正しいですか?
その場合、上記 2 の問題は、コマンド/書き込みスキーマとは非常に異なるスキーマからクエリを取得できることです。何か不足していますか?