Pregunta

Mis controladores usan servicios en lugar de repositorios directamente.Los servicios se colocan en el Proyecto Aplicationervices:

public XYZService
        (
            IBlaRepository BlaRepository,
            IBla1Repository Bla1Repository
        )
        {
            Check.Require(BlaRepository != null, "BlaRepository may not be null");
            this.BlaRepository = BlaRepository;
        ....

Esto funciona bien.

Los repositorios se implementan de la siguiente manera:

public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)

public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)

A veces puedo usar el repositorio de arquitectura afilada 'simple'.¿Hay alguna manera de pasarlos al servicio anterior?¿Tengo que registrarlos en algún lugar?

Para aclarar esto, el contribuyente del servicio se ve así:

public XYZService
        (
            Repository<UUU> UUURepository

...

Espero que esto tenga sentido.

¡Gracias!

chris

¿Fue útil?

Solución

chris, Todo lo que necesita hacer es consultar su repositorio como tal:

    private readonly IRepository<Bla> _blaRepository; 

    public BlaService(IRepository<Bla> blaRepository) 
    { 
         _blaRepository = blaRepository; 
    }

Esto permitirá a Windsor inyectar el repositorio en su controlador con nada más necesario.

alec

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top