Question

Mes contrôleurs utilisent des services plutôt que des référentiels directement.Les services sont placés dans le projet ApplicationsVices:

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

Cela fonctionne bien.

Les référentiels sont mis en œuvre comme suit:

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

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

Parfois, je peux simplement utiliser le référentiel d'architecture "plain".Y a-t-il un moyen de les transmettre dans le service ci-dessus?Dois-je les enregistrer quelque part?

Pour clarifier cela - le rétructeur du service ressemble à ceci:

public XYZService
        (
            Repository<UUU> UUURepository

...

J'espère que cela a du sens.

merci!

chris

Était-ce utile?

La solution

chris, Tout ce que vous devriez faire est de vous référer à votre référentiel comme tel:

    private readonly IRepository<Bla> _blaRepository; 

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

Cela permettra à Windsor d'injecter le référentiel dans votre contrôleur sans rien d'autre nécessaire par vous.

alec

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top