Presently in LINQ, the following compiles and works just fine:
var listOfFoo = myData.Select(x => new FooModel{
someProperty = x.prop1,
someOtherProperty = x.prop2
});
public class FooModel{
public string someProperty { get; set; };
public string someOtherProperty { get; set; };
}
However, the past few versions of .NET/C# have expanded the role of dynamic objects such as the ExpandoObject
and I am wondering if there is a way to basically do this:
var listOfFoo = myData.Select(x => new ExpandoObject{
someProperty = x.prop1,
someOtherProperty = x.prop2
});
Obviously, I have already tried the code above without success, but it seems like I am missing something.
You should be able to create a new anonymous object without any type declared:
There is nothing preventing you from using
Select
to return a collection of ExpandoObject's, you just aren't properly constructing theExpandoObject
. Here's one way: