How to dynamically choose two fields from a Linq query as a result

Posted by Dr. Zim on Stack Overflow See other posts from Stack Overflow or by Dr. Zim
Published on 2010-04-12T03:35:17Z Indexed on 2010/04/12 3:43 UTC
Read the original article Hit count: 392

Filed under:
|

If you have a simple Linq query like:

var result = from record in db.Customer
             select new { Text = record.Name,
                          Value = record.ID.ToString() };

which is returning an object that can be mapped to a Drop Down List, is it possible to dynamically specify which fields map to Text and Value?

Of course, you could do a big case (switch) statement, then code each Linq query separately but this isn't very elegant. What would be nice would be something like:

(pseudo code)

var myTextField = db.Customer["Name"];  // Could be an enumeration??
var myValueField = db.Customer["ID"];   // Idea: choose the field outside the query

var result = from record in db.Customer
             select new { Text = myTextField,
                          Value = myValueField };

© Stack Overflow or respective owner

Related posts about linq-to-sql

Related posts about LINQ