The way you have done it makes sense. The repository and service are injected with the same unitofWork.
I used dependency injection in the same way as the example and Agatha's example.
In the Agathas.Storefront OrderService the UnitOFWork is injected in the constructor
public OrderService(IOrderRepository orderRepository,
_customerRepository = customerRepository;
_orderRepository = orderRepository;
_basketRepository = basketRepository;
_uow = uow;
The OrderService binds to the concrete implementation UnitOfWork as per the details in BootStrapper as would the repositories. As I see it these would
be different UnitOfWork instances.
Does it work for you using the DI framework.