IQueryable.Select by property names (EF compatible extensions)
using LinqString;
var result = queryableSource
.OrderBy("SubObj.Prop1", ">Prop2")
.Select("Prop1", "Prop2", "SubObj.Prop1")
.ToList();
// is an analogue of
var analogue = queryableSource
.OrderBy(x => x.SubObj.Prop1)
.ThenByDescending(x => x.Prop2)
.Select(x => new {
x.Prop1,
x.Prop2,
SubObj = new {
x.SubObj.Prop1
},
}).ToList();