我的控制器直接使用服务而不是存储库。这些服务放在ApplicationServices项目中:
public XYZService
(
IBlaRepository BlaRepository,
IBla1Repository Bla1Repository
)
{
Check.Require(BlaRepository != null, "BlaRepository may not be null");
this.BlaRepository = BlaRepository;
....
这很好用。
存储库实现如下:
public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)
public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)
有时我可以使用“普通”的尖锐架构存储库。有没有办法将它们传递给上述服务?我必须在某处注册吗?
为了澄清这一点 - 服务的构造函数如下所示:
public XYZService
(
Repository<UUU> UUURepository
...
希望这是有道理的。
谢谢!
克里斯
答案 0 :(得分:2)
克里斯, 您需要做的只是参考您的存储库:
private readonly IRepository<Bla> _blaRepository;
public BlaService(IRepository<Bla> blaRepository)
{
_blaRepository = blaRepository;
}
这将允许Windsor将存储库注入您的控制器,而不需要您。
艾力