• 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>();
                }
            }
  • 相关阅读:
    Razor里写函数
    Tuple
    javascript下将字符类型转换成布尔值
    如何成为一名快枪手
    easyUI datagrid 前端假分页
    操作JSON对象
    服务器端将复合json对象传回前端
    将JSON对象转换成IList,好用linq
    操作系统学习笔记三 进程
    如何遍历newtonsoft.json的JObject里的JSON数据
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/7065965.html
Copyright © 2020-2023  润新知