дженерик репозитории использовать с метанита, но там же написано что реализация unit of work не потокобезопасна. Убил часы чтобы найти async реализацию но все примеры невнятные и разные. Словно нет идеального, которого все придерживаются. Ещё и траблы с тем, что от некоторых репозиторий нужны разные методы. Потом я пошёл по другому пути, решил использовать простые репозитории но как то заиметь для них один контекст данных. И нашёл пример где в конструкторе контроллера создаются репозитории которым в конструктор передаётся контекст. Возможно ли все это сделать через ioc, чтобы я в конструкторе контроллера определял только репозитории, которым при этом назначается один и тот же контекст. Я так понимаю это addscoped? Или может я вообще ничего не понимаю.
Я тут поднял древние манускрипты архейской эры @GideonClain от 18 года, там он как раз говорил про какую-то фабрику контекстов и что unit of work и репозитории это антипаттерны и нужно внедрять контекст в сервисы.
Тут немного непонятно что есть сервисы, такие сервисы могут содержать стандартные круды? Плюс какие то дополнительные методы: find getbyid. Ну и самописные по типу filterbyCategory. Просто если это так, то разница между репозиторием и сервисом в таком случае только название.
Репозиторий подразумевает ТОЛЬКО логику работы с базой данных, и ТОЛЬКО логику работы с базой данных, всё.
Обсуждают сегодня