В идеале, хранилище должно возвращать Доменную модель в случае реализации DDD. В этом случае сама доменная модель отображается как сущность.
Если DDD не реализован, она должна возвращать сопоставляемую сущность.
Репозиторий должен учитывать только потребности базы данных. Он не должен обрабатывать любые другие проблемы, такие как HTTP, бизнес-логика и т. Д. Следовательно, он не должен возвращать ObjectResult
или DTO или любой другой тип, который не относится к доступу к данным. Чтобы узнать больше о таких терминах, как DTO, Entity и т. Д., Пожалуйста, обратитесь к этому ответу.
Я также пытаюсь использовать репозитории. Такие вещи, как NotFound()
или Ok(ret)
, которые должен вернуть контроллер, недоступны в хранилище.
Они не должны. Используйте дополнительную логику для реализации этого вне хранилища.;
Есть ли лучший тип для возврата, чтобы мои методы хранилища могли легко возвращать либо данные, либо соответствующий ответ об ошибке?
Как сказано выше, верните сопоставленные объекты. Для ошибок рассмотрите выбрасывание исключения из хранилища. Обработайте их в коде вызова (контроллера).
На всякий случай, если вы используете полный ORM, взгляните на этот ответ.