Domanda

I miei controller usano i servizi piuttosto che i repository direttamente.I servizi sono inseriti nel progetto ApplicationServices:

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

funziona bene.

I repository sono implementati come segue:

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

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

A volte posso solo usare il repository di architettura "semplice".C'è un modo per passarli nel servizio di cui sopra?Devo registrarli da qualche parte?

Per chiarire questo - il consumo del servizio è simile a questo:

public XYZService
        (
            Repository<UUU> UUURepository
.

...

Spero che questo abbia senso.

Grazie!

chris

È stato utile?

Soluzione

Chris, Tutto ciò che dovresti fare è fare riferimento al tuo repository come tale:

    private readonly IRepository<Bla> _blaRepository; 

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

Ciò consentirà a Windsor di iniettare il repository nel tuo controller con nient'altro necessario da te

Alec

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top