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();