Niels Bosma Niels Bosma - 3 months ago 18
C# Question

LINQ sorting anonymous types?

How do I do sorting when generating anonymous types in linq to sql?

Ex:

from e in linq0
order by User descending /* ??? */
select new
{
Id = e.Id,
CommentText = e.CommentText,
UserId = e.UserId,
User = (e.User.FirstName + " " + e.User.LastName).Trim()),
Date = string.Format("{0:d}", e.Date)
}

Answer

If you're using LINQ to Objects, I'd do this:

var query = from e in linq0
            select new
            {
                Id = e.Id,
                CommentText = e.CommentText,
                UserId = e.UserId,
                User = (e.User.FirstName + " " + e.User.LastName).Trim()),
                Date = e.Date.ToString("d")
            } into anon
            orderby anon.User descending
            select anon;

That way the string concatenation only has to be done once.

I don't know what that would do in LINQ to SQL though...