Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LINQ - Add property to results

Is there a way to add a property to the objects of a Linq query result other than the following?

var query = from x in db.Courses
                select new
                {
                    x.OldProperty1,
                    x.OldProperty2,
                    x.OldProperty3,
                    NewProperty = true
                };

I want to do this without listing out all of the current properties of my object. There are many properties, and I don't want to have to update this code whenever I may change my class.

I am still learning with LINQ and I appreciate your suggestions.

like image 639
Ronnie Overby Avatar asked Feb 25 '09 21:02

Ronnie Overby


2 Answers

Add it with partial classes:

public partial class Courses
{
    public String NewProperty { get; set; }
}

Then you can assign it after you've created the object.

like image 178
weiran Avatar answered Sep 28 '22 08:09

weiran


I suppose you could return a new object composed of the new property and the selected object, like this:

var query = from x in db.Courses
                select new
                {
                    Course = x,
                    NewProperty = true
                };
like image 35
Eric King Avatar answered Sep 28 '22 08:09

Eric King