A Generic Entity Framework 6 data repository for .NET 4.5 supporting both sync and async methods