Вы также можете использовать Dynamic Linq
C # скачать здесь http://msdn.microsoft.com/en-us/vcsharp/bb894665.aspx
Затем просто добавьте использование Linq.Dynamic; и вы автоматически получаете 2 дополнительных метода расширения, которые можно использовать как
return query.OrderBy("StringColumnName");