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)
答案 0 :(得分: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);
}
}