S # Query Architecture - Services et référentiels
-
14-09-2020 - |
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
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