我在动态LINQ 的VS2008示例中找到了一个示例,它允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))
用于排序.不幸的是,包含的方法仅适用于IQueryable<T>
;.有没有办法获得此功能IEnumerable<T>
?
我试图实现这种转换
"Address.Street" => (p) => p.Address.Street
"Name" => (p) => p.Name
Run Code Online (Sandbox Code Playgroud)
我能够找到一种通过表达式使用反射生成订单的方法,但它不适用于复杂排序,Address.Street
因为它适用于单个属性级别.
有没有办法做到这一点?我已经看到我编译lambda表达式,但我无法理解如何使它适用于这种情况.