my approach to build a repository pattern with EF and C#