Odata NavigationProperty的简单选择下拉列表

Odata NavigationProperty的简单选择下拉列表,odata,sapui5,olingo,odata-v4,Odata,Sapui5,Olingo,Odata V4,对于当前的项目,我们在后端使用Olingo进行OData v4数据访问,并将openui5用作前端框架。我们知道,ODataV4在openui5中处于一种更具实验性的状态,但我们在这方面做得还不错。对于我们来说,在这里和那里使用变通方法是很正常的,我们现在正在努力解决以下问题,我认为应该有一个非常简单的方法,而不是构建变通方法 简化的oData v4模型: <EntityType Name="Notification"> <Key> <

对于当前的项目,我们在后端使用Olingo进行OData v4数据访问,并将openui5用作前端框架。我们知道,ODataV4在openui5中处于一种更具实验性的状态,但我们在这方面做得还不错。对于我们来说,在这里和那里使用变通方法是很正常的,我们现在正在努力解决以下问题,我认为应该有一个非常简单的方法,而不是构建变通方法

简化的oData v4模型:

<EntityType Name="Notification">
  <Key>
    <PropertyRef Name="uid"/>
  </Key>
  <Property Name="uid" Type="Edm.Int32"/>
  <Property Name="recievedAt" Type="Edm.Date"/>
  <NavigationProperty Name="NotificationType" Type="rest.odata.BaseData" Nullable="false"/>
</EntityType>

<EntityType Name="BaseData">
  <Key>
    <PropertyRef Name="key"/>
  </Key>
  <Property Name="key" Type="Edm.String"/>
  <Property Name="title" Type="Edm.String"/>
</EntityType>
(我非常简化了代码)

父窗体绑定到特定的/通知上下文

具体情况如下:选择下拉列表显示特定/通知的当前保存的NotificationType。如果我从下拉列表中选择另一个NotificationType,ui5将向EntitySet/basedataNOTIFICATIONTYPES发送一个补丁请求。这不是我所期望的行为。我需要向特定的/Notification(XXX)/NotificationType/key发送一个补丁请求来更新它

有人给我一个提示吗


提前感谢!:-)

很抱歉,我没有关注-如果下拉列表中填充了只读项,为什么您要发送修补程序请求,不管它自己做什么。它被配置为双向绑定,因此需要将任何更改发送到后端。但我不明白为什么它会向“只读”列表发送更新,而不是向链接键发送更新。很抱歉,我没有遵循-如果下拉列表中填充了只读项,为什么您会发送修补程序请求。它被配置为双向绑定,因此需要将任何更改发送到后端。但我不明白为什么它会向“只读”列表而不是链接键发送更新。
<EntitySet Name="basedataNOTIFICATIONTYPES" EntityType="rest.odata.BaseData"/>
var oControl = new sap.m.Select(sName, {selectedKey: "{NotificationType/key}"});
oControl.bindItems({
  path: "/basedataNOTIFICATIONTYPES"
})