ODataModel 在读取中传递“expand”参数

2023-11-22

我想将扩展参数传递给read因为如果我像这样调用该服务,它就不起作用:

oModel1.read("/LinesSet?$expand=ToCells", {

The readAPI 等待选项图作为第二个参数,我们可以使用该属性定义任何查询urlParameters:

oModel1.read("/LinesSet", {
  urlParameters: {
    "$expand": "ToCells",
    "$select": "LineID,ToCells/CellID,...", // reduce data load
  },
  filters: [ // Filter required from sap/ui/model/Filter
    new Filter({/*...*/}), // reduce data load
  ],
  success: this.onSuccess.bind(this),
  // ...
});

⚠️ 请注意,加载大量数据会对内存消耗和用户体验产生负面影响。这甚至可能最终导致应用程序完全崩溃。参见 参考资料 部分加载大量数据从文档中。

每当您使用诸如 [...] 之类的方法时sap.ui.model.odata.v2.ODataModel#read[...]在应用程序代码中,您的应用程序不得加载大量数据。

⚠️ read从应用程序的角度来看,它是一个低级 API。还有其他 API 和方法可以帮助减少控制器代码量。


替代(更好)的解决方案

我想强调的是v2.ODataModel#read经常not必需的。您可以通过分配相应的名称来简单地使用 OData Context/ListBinding<NavigationProperty>XML 中的控件:

<Table binding="{ToThatRelatedSingleEntity}" items="{ToThatRelatedCollection}" growing="true">

(Note: You might have to add templateShareable to the aggregation binding accordingly as explained in the topic: Lifecycle of Binding Templates)

绑定,而不是应用程序,将自动为您准备请求。无需使用中间体JSONModel。与相同v4.ODataModel甚至没有read method.
这也使得迁移到 OData V4 变得更加容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ODataModel 在读取中传递“expand”参数 的相关文章

随机推荐

  • Docker RUN ls 显示缓存文件

    我正在尝试设置一个 docker 容器并正在使用RUN ls帮助调试 然而 当我跑步时RUN ls docker 打印出以下内容 gt Using cache gt 96223b1b0748 我希望它注销文件夹中的文件 有谁知道会发生什么
  • 创建一个带有 Action 多个参数的任务

    我想在包含操作的任务中添加多个参数 我回顾了现有的堆栈溢出问题使用操作创建任务 请帮助我如何在任务的操作方法中传递多个参数 Action
  • 使滚动条在移动浏览器中可见

    当我有一个带有可滚动内容的网页时 使用CSS属性 overflow auto 或 overflow visible 滚动条在桌面浏览器上可见 但是当我在移动浏览器上打开页面时 滚动条仅在我尝试滚动时才会出现 有没有办法让滚动条在移动设备上始
  • Rails 中的 PG pg_ext 加载错误

    我最近更新到了 Rails 4 1 6 和 ruby 2 1 3p242 我还更新了系统上的所有宝石 创建新应用程序后 我在运行服务器时不断收到 pg ext 加载文件错误 我使用的是 Windows 8 x64 和 PostgreSQL
  • 在 JavaScript 中指定 eval() 的范围?

    有什么方法可以在特定范围内执行 eval 但不是全球性的 例如 以下代码不起作用 第二条语句中 a 未定义 因为它们位于不同的范围内 eval var a 1 eval alert a 如果可能的话 我想动态创建一个范围 例如 语法肯定是错
  • 我可以将变量从 Bash 脚本导出到环境中而不需要获取它吗?

    假设我有这个脚本 导出 bash usr bin env bash export VAR HELLO VARIABLE 当我执行脚本并尝试访问 VAR 我没有得到任何价值 echo VAR 有没有办法访问 VAR只需执行export bas
  • 获取通过“attr_accessor”定义的所有变量,而不覆盖“attr_accessor”

    我正在我的程序上设置一些跟踪代码 并且想知道哪些方法是通过定义的attr accessor Using TracePoint 我可以检测到什么时候attr accessor被调用 但我不知道如何让它告诉我它收到的参数 有任何想法吗 在问题标
  • 使用 python 将字典列表插入 SQL 表中

    我正在使用 python 和 sql 数据库迈出第一步 但仍然不确定要使用哪个包以及如何使用 我有一个包含大约 300k 个字典的列表 每个字典大约有 20 个键 这些字典应插入到 SQL 表中 在我看来 字典方法列表的优点是 我明确命名要
  • JUnit 测试未启动 Android 服务

    我有这个测试类来测试远程服务 public class CoreServiceBasicTest extends ServiceTestCase
  • RIA 服务与 WCF 服务

    我正在重写一个 LOB 应用程序 其架构如下 Silverlight Windows Mobile gt WCF gt 实体框架 gt 数据库 移动应用程序应该能够像 silverlight 应用程序一样执行某些操作 在这里使用 RIA 服
  • C++ 中向量是通过值还是通过引用传递给函数

    我正在用 C 编码 如果我有一些功能void foo vector
  • 如何打印保留命名空间的 groovy 节点?

    当我使用此代码输出一些 XML 时 我解析 并修改 了XmlParser XmlParser parser new XmlParser def root parser parseText feedUrl toURL text def wri
  • 单元测试 Web App 时如何模拟应用程序路径

    我正在 MVC HTML 帮助程序中测试代码 该代码在尝试获取应用程序路径时抛出错误 appropriate code that uses System IO Path to get directory that results in st
  • 如何从 FirebaseRecyclerAdapter 中排除项目

    我的代码中有这个代码populateViewHolder public void populateViewHolder final CampaignHolder viewHolder final Campaign campaign fina
  • 使用 python 创建 jpeg 缩略图

    正如标题所说 我正在寻找一种将大量图像转换为不同大小的缩略图的方法 我该如何在 python 中执行此操作 See http www pythonware com products pil index htm import os sys i
  • GDB单步执行功能(下一个)似乎不起作用

    我正在尝试调试我用 C 编写的程序 这是代码 void a void b a int main b return 0 我使用以下方法编译它 g g3 O0 o cards exe cards cpp 这是我的 GDB 会话的输出 gdb b
  • BroadcastReceiver 生命周期——静态变量

    我有一个 BroadcastReceiver 类 我声明了一些静态变量 其值在 onReceive 方法中更新 据我所知 静态变量将在 onReceive 调用中保持其值 当我丢失这些值时是否有可能 比如我的类将被卸载并重置静态变量 这些基
  • 重新排序提交

    我目前正在一个分支上工作 希望将一些提交合并到其他分支中 a b c d e f g branchA o x x x x x x x x x x master x x x x x branchB 字母表示提交 并且x是不相关的提交 然而我注
  • Redbean O/RM 将“日期”存储为 varchar(255)?

    从这段代码来看 toolbox RedBean Setup kickstartDev mysql r toolbox gt getRedBean test r gt dispense test test gt nom Test 1 test
  • ODataModel 在读取中传递“expand”参数

    我想将扩展参数传递给read因为如果我像这样调用该服务 它就不起作用 oModel1 read LinesSet expand ToCells The readAPI 等待选项图作为第二个参数 我们可以使用该属性定义任何查询urlParam