#generic-repository-pattern