S # ARP Архитектура запрос - Услуги и репозитории

StackOverflow https://stackoverflow.com/questions/3229593

  •  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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top