S # ARP Архитектура запрос - Услуги и репозитории
-
14-09-2020 - |
Вопрос
Мои контроллеры используют услуги, а не репозитории напрямую.Услуги размещены в проекте приложений:
public XYZService
(
IBlaRepository BlaRepository,
IBla1Repository Bla1Repository
)
{
Check.Require(BlaRepository != null, "BlaRepository may not be null");
this.BlaRepository = BlaRepository;
....
.
Это работает нормально.
Репозитории реализованы следующим образом:
public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)
public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)
.
Иногда я могу просто использовать «простой» репозиторий острых архитектуры.Есть ли способ передать их в вышеуказанную услугу?Нужно ли зарегистрировать их где-то?
Чтобы уточнить это - повседневная услуга выглядит так:
public XYZService
(
Repository<UUU> UUURepository
.
...
Надеюсь, это имеет смысл.
Спасибо!
Крис
Решение
Крис, Все, что вам нужно сделать, это обратиться к вашему репозиторию как таковой:
private readonly IRepository<Bla> _blaRepository;
public BlaService(IRepository<Bla> blaRepository)
{
_blaRepository = blaRepository;
}
.
Это позволит Виндзора ввести репозиторий в ваш контроллер, ничем еще необходимым вами.
Alec
Не связан с StackOverflow