When I copy the DataColumns class to the RatesOfPay class, the DataMember attributes in WCF are no longer honored when I use the following code to copy. I want to see results in the order Step8,Step9, Step10 but I get Step10, Step8, Step9 as Order atribute is being ignored and columns are getting sorted alphabetically. . Also the EmitDefaultValue = false attribute is getting ignored and I see steps with null values.
List<DataColumns> source = new List<DataColumns>();
List<RatesOfPay> destination = new List<RatesOfPay>();
destination = source.Select(d => new RatesOfPay
{
step8 = d.column8,
step9= d.column9,
step10 = d.column10
}).ToList();
public class DataColumns
{
[DataMember(Order = 0, Name = "column8", EmitDefaultValue = false)]
public string column8 { get; set; }
[DataMember(Order = 1, Name = "column9", EmitDefaultValue = false)]
public string column9 { get; set; }
[DataMember(Order = 2, Name = "column10", EmitDefaultValue = false)]
public string column10 { get; set; }
}
public class RatesOfPay
{
[DataMember(Order = 0, Name = "Step8", EmitDefaultValue = false)]
public string step8 { get; set; }
[DataMember(Order = 1, Name = "Step9", EmitDefaultValue = false)]
public string step9 { get; set; }
[DataMember(Order = 2, Name = "Step10", EmitDefaultValue = false)]
public string step10 { get; set; }
}