BaseRepository for EF6 - updated
DISCLAIMER I don't believe in wrapping EF with a repository. Entity Framework is a unit-of-work and repository implementation.





  I've changed IEnumerable to IQueryable.


You've just destroyed the usefulness of your repository, and leaked Linq-to-Entities to your clients: it doesn't matter what predicate you give GetWhere, the client code can now just say GetWhere().Where(x =&gt; whatever);, and the client code now controls when (execution is deferred until the result is iterated) and how the query will run on the database server... and that defeats the purpose of a repository.

What you had before was much more robust.

One of the answerers of your other question said In general, use IQueryable over IEnumerable in your repository. - that did not mean to expose IQueryable.