0

Постулаты OrderBy не поддерживается Azure поставщика Таблица хранения LinQ у меня есть такое выражение, какКак удалить выражение OrderBy из ExpressionTree с помощью ExpressionVisitor?

.Where(t => (t.RowKey.CompareTo("U_") > 0)).OrderBy(user => user.UserName) 

я пытаюсь удалить .OrderBy(user => user.UserName) из дерева выражений

Я также хотел бы посетитель, чтобы удалить OrderBy Постулаты из следующего выражения

.Where(t => (t.RowKey.CompareTo("U_") > 0)).OrderBy(user => user.UserName).Take(10) 

станет

.Where(t => (t.RowKey.CompareTo("U_") > 0)).Take(10) 

ответ

0

Вот реализация посетителя.

class OrderByRemovalVisitor : ExpressionVisitor 
{ 

    protected override Expression VisitMethodCall(MethodCallExpression node) 
    { 

     if (node.Method.Name == "OrderBy" && node.Method.DeclaringType == typeof(Queryable)) 
      return node.Arguments[0]; 
     else 
      return base.VisitMethodCall(node); 
    } 
}