当前位置: 首页 > Web前端 > JavaScript

了解sap.ui.model.odata.v2.ODataModelAPI中BindingContext的概念和用法

时间:2023-03-27 01:07:35 JavaScript

本教程前三篇介绍了sap.ui.model.odata.v2.ODataModel提供的read方法API详细使用细节。SAPUI5应用开发教程一百六十四-通过sap.ui.model.odata.v2.ODataModel的读取方法,读取OData数据的编程方法详解SAPUI5的一百六十五应用开发教程-SAPUI5应用如何使用JavaScript代码调用ODataAPI读取满足过滤条件的业务数据($filter操作)SAPUI5应用开发教程166-详解Edm.DateTime的操作SAPUI5ODataAPI中的dateandtimetype有朋友提问,说是对SAPUI5官网介绍的read方法的可选参数mParameters的context字段有疑惑,想通过了解其概念一个具体的例子。在本文中,我们将学习上下文的概念。在本文之前,我们展示了SAPUI5ODataAPI中如何调用OData协议支持的过滤操作$filter:SAPUI5应用开发教程165-SAPUI5应用如何使用JavaScript代码调用ODataAPI读取和读取数据满足过滤条件的业务数据($filter操作)那么假设我要查询id为10248的订单的明细数据。首先根据这个urlhttps://services.odata.org/V2/Northwind/Northwind.svc/$metadata获取NorthWindOData服务的元数据:从中观察到Order模型的key是OrderID。那么如果我们要使用key字段来读取OData节点的数据,除了使用$filter操作符之外,还有一种更方便的访问方式,就是直接将key字段值拼接在Orders的EntitySet后面。完整的url如下:https://services.odata。org/V2/Northwind/Northwind.svc/Orders(10248)我们仔细查看订单数据,发现Order_Details节点。默认情况下,当前读取请求中不返回数据,只有当你想读取数据时,使用的url是https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10248)/Order_Details:我们访问https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10248)/Order_Details,可以看到三个Order明细数据:每个明细数据都包含该行的产品IDitem,即字段ProductID,以及商品购买的数量Quantity和单价UnitPrice。在元数据中,Order节点与Order_Details节点的导航关系是通过名为Order_Details的NavigationProperty关联起来的。也就是说,如果我们要读取一个订单的详细数据,前提是先获取订单的表头数据,即Order节点的数据,然后通过NavigationProperty,Order_Details进一步读取。这里的Orderheader数据是后者相对于Order_Details数据的上下文。下面我们来学习如何使用SAPUI5ODataAPI编码读取指定ID的Order和OrderDetails数据。