Получение агрегата по другому свойству, чем ID в Prooph - PullRequest
0 голосов
/ 04 мая 2018

Как проще всего получить агрегат из хранилища агрегатов, не зная его идентификатора, но зная другое уникальное свойство? Например, у меня есть Cart с идентификатором AggregateId и ownerId как другим свойством.

1 Ответ

0 голосов
/ 05 мая 2018

В CQRS (при условии, что у вас есть такая система) при транзакциях с корнем агрегата вам нужно состояние агрегата, чтобы принять решение для сохранения инвариантов.

Что касается чтения, то типичным шаблоном является проецирование / денормализация / индексирование данных в зависимости от ситуации, чтобы облегчить запросы по мере необходимости.

Так, как правило, вы будете отслеживать проекцию каждого события и индекс на основе OwnerId для облегчения запроса. Если это только для целей поиска, чтобы запустить какую-то команду обработки решения, это может быть так же просто, как сопоставление OwnerId с принадлежащим CartIds.


Вы не предоставили много контекста; это зависит от того, пытаетесь ли вы создать систему истории заказов или доставку и т. д. Скорее всего, вы получите хороший ответ на любой дополнительный вопрос, если объясните больше о том, чего вы пытаетесь достичь в целом

...