Change type of the selector parameter to Expression<Func<T, TResult>>. But why not simply expose the DbSet<TEntity> as an IQueryable<TEntity>?
selector
Expression<Func<T, TResult>>
DbSet<TEntity>
IQueryable<TEntity>