I have a generic method where I take an IQueryable<T> and returns an IOrderedQuerable<T> using Linq-to-Entities.

A simple input.OrderBy(p => p.something) won't work since I don't know any property of T (and I cannot constrain this to an interface).

Casting the result to (IOrderedQuerable<T>) seems to work until you try do actually use it with a .Skip() or .Take(), at which point you get a runtime error.

I guess I theoretically could use reflection and see if I find an int or something and build an expression to use as ordering, but that seems very dirty.

Any ideas?

Edit
Report