public static IQueryable OrderByProperty(IQueryable query, IEdmModel model, IEdmProperty property, OrderByDirection direction, Type type, bool alreadyOrdered = false) { // property aliasing string propertyName = EdmLibHelpers.GetClrPropertyName(property, model); Type elementType = query.ElementType; LambdaExpression orderByLambda; if (EdmLibHelpers.IsComputeWrapper(elementType, out Type underType)) { orderByLambda = GetInstancePropertyAccessLambda(elementType, propertyName); } else { orderByLambda = GetPropertyAccessLambda(type, propertyName); } return(OrderBy(query, orderByLambda, direction, type, alreadyOrdered)); }