我使用工作單元和EF實現了通用存儲庫。如果工作單元包含所有存儲庫,您如何從另一個存儲庫調用存儲庫?
可以說我有需要使用ProductRepository其體內的CustomerRepository。
問題是我使用Unit of Work實例來調用任何特定的存儲庫, 所以爲了在CustomerRepository中調用ProductRepository,我需要將存儲庫中的Unit of Work實例傳遞給我,這看起來像一個大代碼味道給我,因爲UOW原本就是這樣,並且首先調用存儲庫。
什麼是最好的辦法,如果我需要調用另一個倉庫內存儲庫? (考慮Uow類有他們兩個)?
我不認爲,理想情況下,你應該回購的UOW內瞭解海誓山盟。也許重構到一個存儲庫,或將該調用拉入它自己的存儲庫? – Jonesopolis
同意@Jonesy,使用IoC很容易解決,但根本問題是另一回事。 –
你如何用IoC解決它? – Tanuki