Add generic repository
Renamed reposiotry
Added dataprovider + EntityFrameworkDataProvider
Missed type constraints