Asp.net web api 在实体更新期间,调用修补程序端点时,WebApi v2 Odata的JayData行为不正确

Asp.net web api 在实体更新期间,调用修补程序端点时,WebApi v2 Odata的JayData行为不正确,asp.net-web-api,odata,jaydata,asp.net-web-api-odata,Asp.net Web Api,Odata,Jaydata,Asp.net Web Api Odata,在尝试更新实体时,JayData会在WepAPI后端触发PatchEntity方法。我发现这是一种无效的行为,因为应该调用UpdateEntity 添加和删除实体功能正常工作。在后端,我有一个从EntitySetController继承的控制器 我在这里遗漏了什么吗?JayData根据odata提供程序配置的dataServiceVersion属性发送合并或修补程序请求 $data.initService('/odata/$metadata', {dataServiceVersion: '3.0

在尝试更新实体时,JayData会在WepAPI后端触发PatchEntity方法。我发现这是一种无效的行为,因为应该调用UpdateEntity

添加和删除实体功能正常工作。在后端,我有一个从EntitySetController继承的控制器


我在这里遗漏了什么吗?

JayData根据odata提供程序配置的dataServiceVersion属性发送合并或修补程序请求

$data.initService('/odata/$metadata', {dataServiceVersion: '3.0'})
2.0导致合并,3.0导致修补程序请求与WCF Data Services OData实现一致

如果此行为不符合WebAPI OData要求,则有第二个自定义选项来确定请求的类型:

$data.initService('/odata/$metadata', {UpdateMethod: 'PATCH'})
您可以尝试将
补丁
修改为
更新
HTTP谓词

$data.initService('/odata/$metadata', {dataServiceVersion: '3.0'})
$data.initService('/odata/$metadata', {UpdateMethod: 'PATCH'})