0

Azure 表存储 linq 提供程序不支持 Orderby 语句我有一个类似的表达式

.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)
4

1 回答 1

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);
    }
}
于 2014-12-08T16:26:44.513 回答