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>();
                }
            }
  • 相关阅读:
    算法-转
    单页 SEO-转
    浅谈MVVM设计模式
    iOS-UIView动画
    iOS 核心动画(下)
    iOS开发-核心动画(Core Animation)
    iOS-CALayer的介绍
    SVN Xcode不能提交.a文件
    iOS 毛玻璃效果
    Quartz2D学习总结
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/7065965.html
Copyright © 2011-2022 走看看