A C# Generic repository implementation for Entity Framework