我使用工作单元和EF实现了通用存储库。如果工作单元包含所有存储库,您如何从另一个存储库调用存储库?
可以说我有需要使用ProductRepository其体内的CustomerRepository。
问题是我使用Unit of Work实例来调用任何特定的存储库, 所以为了在CustomerRepository中调用ProductRepository,我需要将存储库中的Unit of Work实例传递给我,这看起来像一个大代码味道给我,因为UOW原本就是这样,并且首先调用存储库。
什么是最好的办法,如果我需要调用另一个仓库内存储库? (考虑Uow类有他们两个)?
我不认为,理想情况下,你应该回购的UOW内了解海誓山盟。也许重构到一个存储库,或将该调用拉入它自己的存储库? – Jonesopolis
同意@Jonesy,使用IoC很容易解决,但根本问题是另一回事。 –
你如何用IoC解决它? – Tanuki