[英]Sort using dynamic LINQ on a complex object
我有一个使用动态LINQ进行排序的对象列表。
对象是这样的
public class SampleDTO
{
public string Vendor { get; set;}
public string Invoice { get; set; }
..
..
}
我使用Dynamic Linq库对此进行排序,
var list= new List<SampleDTO>();
list.OrderBy("Vendor");
如果我传递带有列表的有效属性名称的排序键(例如Vendor),则此方法很好
问题是,如何对复杂的对象执行此操作。
假设我还有另一个对象,它是SampleDTO的属性
public class SampleDTO
{
public string Vendor { get; set;}
public string Invoice { get; set; }
public OtherDTO OtherDTO{get;set; }
..
}
public class OtherDTO
{
public string LineId{ get; set;}
..
}
而且,如果我想使排序足够动态,那么我应该能够从SampleDTO的直接属性或OtherDTO的属性进行排序(例如,需要在OtherDTO.LineId上进行排序)
有哪些可能的方法来实现这一目标?
/ BB
为什么不使用lamba语法。
list.OrderBy(sample => sample.OtherDto.LineId);
这样做的好处是不依赖于硬编码字符串
你可以这样做:
list.OrderBy("OtherDTO.LineId");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.