Scott Davies
Scott Davies

Reputation: 3755

How can anonymous types be created using LINQ with lambda syntax?

I have a LINQ query that uses lambda syntax:

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)

I would like to create an anonymous type to store the projection, similar to:

var query = from book in books
            where book.Length > 10
            orderby book
            select new { Book = book.ToUpper() };

How do I "select new" in lambda syntax ?

Thanks,

Scott

Upvotes: 18

Views: 42347

Answers (1)

Fredrik Mörk
Fredrik Mörk

Reputation: 158319

Like this:

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)
        .Select(book => new { Book = book.ToUpper() });

Upvotes: 51

Related Questions