我的问题是,我想根据列表中的对象调用.OrderBy()
和多个.ThenBy()
。
因此,对于4个对象,它将是:
db.Entity.Where(lambda expression).OrderBy(lambda from object1).ThenBy(lambda from object2).ThenBy(lambda from object3).ThenBy(lambda from object4).
如何通过循环反射调用上述方法的等效方法?
我很可能必须通过反思来做到这一点......比如:
foreach(var sortLambda in sortLambdaList)
{
//Build expression to build daisy-chain method call
}
答案 0 :(得分:1)
这可能会变得更加滑动,但总的想法是。
var query = db.Entity.Where(lambda expression);
var first = true;
foreach(var sortLambda in sortLambdaList)
{
if (first) {
query = query.OrderBy(sortLambda);
} else {
first = false;
query = query.ThenBy(sortLamda);
}
}