Re[2]: DDD: фильтр по временной таблице в Репозиториях
От: zelenprog  
Дата: 11.06.24 06:43
Оценка:
Б>Эта вся логика должна находиться внутри репозитория.

Б>Просто создай метод вида TovarRepository.GetListWithAnalogAndPack. Или параметризируй поиск товаров TovarRepository.GetList(withAnalog=true, withPack=true).

Б>Внутри, на уровне базы, сможешь сделать все, что нужно.

Ты предлагаешь сделать один Репозиторий для всех Сущностей.
Я читал, что это неправильно. Для каждой сущности должен быть свой репозиторий.
У меня есть сущности "Товар", "Аналог", "Упаковка". Соответственно должно быть три Репозитория.

Кроме того, этот подход по меньшей мере необычный.
Например, выполнив метод "TovarRepository.GetListWithAnalogAndPack" я получу три списка-коллекции?
Обычно метод Репозитория возвращает одну коллекцию.

Б>P.S. Скорее всего решение с временной таблицей плохое. Лучше все сделать в одном запрос, БД сама разберется, что надо создавать.


Как минимум у меня должно быть два запроса: нужно получить список аналогов и список упаковок.
Хотя, в принципе я не против сделать это одним запросом.
Только как это "вписать" в Domain-Model?

Б>P.P.S. Repository не должен быть синглтоном


Используется Репозиторий как обычный класс.
Хотя по сути он не имеет состояния.
То есть чисто теоретически, если его использовать не как обычный класс, а как синглтон, то никакой разницы не будет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.