OData元数据中<FunctionImport>的含义是什么?

Xia*_* Ye 4 odata

在我通过OData doc之后,我仍然不明白其含义<FunctionImport>.

  1. 那用的是什么?有人说"除了CRUD操作之外,功能导入还用于在JPA实体上执行自定义操作.例如,考虑一种情况,您希望检查要在销售订单行项目上承诺的项目的可用性."ATP check是一个自定义操作,可以在OData服务的模式中作为函数导入公开."

但我认为上述要求也可以通过一般来实现<Function>,对吧?

  1. 有什么区别<FunctionImport><Function>确切的?

我非常感谢任何人的帮助!谢谢

Yi *_*SFT 6

OData中有三种类型的函数:

  1. 绑定到某些东西的函数(例如实体).示例将是 GET http://host/service/Products(1)/Namespace.GetCategories() 使用<function>元素并将其isBound属性设置为的元数据中定义的此类函数true.
  2. 未绑定的功能.它们通常用于查询.例如 GET http://host/service/Products?$filter(Name eq Namespace.GetTheLongestProductName()) ,使用<function>isBound属性设置为的元素在元数据中定义此类函数false
  3. 功能导入.它们是可以在服务根目录中调用的函数.例如, GET http://host/service/GetMostExpensiveProduct() 他们的概念与程序语言中静态函数的概念有点类似,它们是使用<functionimport>元素在元数据中定义的.

类似区分适用于<action><actionimport>为好.