First of thanks for this P&P.
Can you tell me why who have chosen to place code with logic in the Repositories rather than a Service.
I’d of thought that the Repositories should be a clean implementation of the “classic” IRepository interface. And any/ all code should be placed in the services.
By having implementation code in the repositories this could make it harder to test. And, if say the specification pattern was to be implemented at a later stage