Generic Repository and Unit of Work implementations for Entity Framework