zoukankan      html  css  js  c++  java
  • oData 排序字段生成

    跟踪SQL 发现生成的SQL中所有的字段都进行了排序,查看OData原代码,发现如果实体有Key,就按照Key asc 加上指定字段进行排序

    属性 EnsureStableOrdering可以控制是否生成多个字段排序

    Type: System.Boolean

    true value indicates the original query should be modified when necessary to guarantee a stable sort order. A false value indicates the sort order can be considered stable without modifying the query. Query providers that ensure a stable sort order should set this value to false. The default value is true.

                ODataQuerySettings settings = new ODataQuerySettings()
                {
                    EnsureStableOrdering = false
                };
            // Returns a sorted list of all properties that may legally appear
            // in an OrderBy.  If the entity type has keys, all are returned.
            // Otherwise, when no keys are present, all primitive properties are returned.
            private static IEnumerable<IEdmStructuralProperty> GetAvailableOrderByProperties(ODataQueryContext context)
            {
                Contract.Assert(context != null);
    
                IEdmEntityType entityType = context.ElementType as IEdmEntityType;
                if (entityType != null)
                {
                    IEnumerable<IEdmStructuralProperty> properties =
                        entityType.Key().Any()
                            ? entityType.Key()
                            : entityType
                                .StructuralProperties()
                                .Where(property => property.Type.IsPrimitive());
    
                    // Sort properties alphabetically for stable sort
                    return properties.OrderBy(property => property.Name);
                }
                else
                {
                    return Enumerable.Empty<IEdmStructuralProperty>();
                }
            }
  • 相关阅读:
    node generator 模仿co
    node-webkit 屏幕截图功能
    linux命令, cut,sort,wc,uniq,tee 说明
    linux命令,vim,vi 说明
    linux命令,tar,configure,make,make install,su 说明
    java高级工程师学习方向
    oracle: Rownum原理
    Win7 环境weblogic用户名和密码忘记解决方法
    struts原理介绍,面试
    JSP、servlet--学习摘要
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/7065965.html
Copyright © 2011-2022 走看看