There is no such thing as a column in LINQ, only fields and properties. You mean, you probably specify the index of the property in the anonymous type that you create:
from p in persons
orderby 1
select new { p.FirstNam, p.LastName }
This is not possible because a) you cannot order the projection property (output value in an anonymous type), and b) you cannot order by index. To get around a), you can use the keyword "in":
from p in persons
orderby p.FirstName
select new { First = p.FirstName, Last = p.LastName }
into tmp
orderby tmp.First
select tmp;
LINQ IQueryable (, LINQ to SQL, LINQ , IEnumerable), , OrderBy.
var query = from p in persons
select new { Name = p.FirstName + " " + p.LastName, ...}
query = AddOrderByPosition (query, 1);
foreach (var p in query) {...}
AddOrderByPosition , ( , , "" ) OrderBy ( Select). # , , .
, , .