Я бы хотел получить доступ к своему агрегатному корню через интерфейс, который он реализует:
repository.GetById[[IMyInterface]](id);
Что мне нужно сказать CommonDomain или EventStore для достижения этой цели? Я считаю, что мой IConstructAggregates получает Реализация Тип агрегата, в котором хранятся события. Нужно ли мне просто хранить свою собственную карту идентификаторов.
Например, скажем, у меня есть следующие корни:
class AggRoot1 : IInterface1, IInterface2 {}
class AggRoot2 : IInterface1, IInterface2 {}
Я уже сохранил экземпляр aggregate1, имеющий 'idFromAggRoot1'.
Теперь я хочу получить вот так:
repository.GetById<IInterface1>(idFromAggRoot1);
Как я могу узнать, что я должен создать позже, так как есть два разработчика IInterface1? AggRoot1? AggRoot2? IInterface1? Активатор будет бомбить здесь, так что я знаю, что мне нужно реализовать IConstructAggregates, но задаюсь вопросом, есть ли какой-то другой дескриптор, чтобы сказать мне, какой был исходный тип корневого коммита фиксации.