gpt4 book ai didi

c# - Asp.Net Web API ODATA 的 GROUP BY/不区分大小写扩展?

转载 作者:行者123 更新时间:2023-12-03 17:37:07 25 4
gpt4 key购买 nike

无法通过 ODATA V4 文档中的引用找到组。当我们在 URL 中通过查询传递 group by 时,它只返回键,而不是实际的分组结果。

Any references for using Group by in Asp.Net ODATA, on extensibility points of ODATA Web API. We're in need to take full command over how ODATA query is parsed & transformed into LILNQ to entities query.



我说的是 intercepting ODATA的线路查询和执行手动定制,例如LINQ 到实体

I am trying to achieve a similar extension for Case Sensitivity. OData Case In-Sensitive filtering in Web API?

最佳答案

尝试从 SQL 的角度来处理它:

  • 通过分组,您可以准确地获得键和一些聚合值
  • 通过使用用于组的原始过滤器并使用组键(原始过滤器和组键匹配)扩展它,您实际上加载了给定组的数据。

  • 这就是我们的分组网格在 angular telerik kendo 中的工作方式(他们有一个很好的 toOdataString impl。我也扩展了它: https://github.com/telerik/kendo-angular/issues/2102)。

    这种方法确保网格中的组数量固定(总组或第一级组)。

    PRO:您会看到所有组(或至少 N 个)

    缺点:如果你展开一个小组,你可能会得到太多的元素;需要大量额外的代码和额外的特殊 odata 查询调用;

    见: http://www.reflection.sk/#portfolios ,检查截图:Universal Plans Services (UPS) Software Bundle (.NET & Angular with KendoUI)

    如果从 UI 的角度来看:

    那么分组只不过是一个数据列表,优先排序高于分组字段。这是默认的剑道分组网格方法。所以他们只是对数据进行排序,获取它的页面大小,然后添加分组 UX 项目(网格中的虚拟项目)。

    这种方法确保您在网格中获得固定的项目,但是当您折叠所有项目时,您可能只有 1 个甚至 pageSize 的组计数(取决于每个组中是否/有多少项目)。在这里查看: https://www.telerik.com/kendo-angular-ui/components/grid/grouping/ - 实际上,您需要关闭分页才能看到差异。

    对于固定数量的项目,这种方法是最快的。每页只调用一次,但事先不知道组的数量(如果折叠它们,它可能只是 1 甚至 N,其中 N 是页面大小)。

    关于c# - Asp.Net Web API ODATA 的 GROUP BY/不区分大小写扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319844/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com