S # Arp Architecture Query - Servizi e repository
-
14-09-2020 - |
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
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