Web API OData忽略客户端添加的属性

时间:2014-10-10 14:31:47

标签: odata asp.net-web-api2

当我使用WebApi Odata v4调用Put到我的服务器时出现错误。

{
    "error": {
        "code": "",
        "message": "The request is invalid.",
        "innererror": {
            "message": "job : The property 'test' does not exist on type 'Model.Temp'. Make sure to only use property names that are defined by the type.\r\n",
            "type": "",
            "stacktrace": ""
        }
    }
}

发生此错误是因为未在模型“Temp”中设置属性“test”。它实际上是由javascript添加的,仅用于客户端

如何使OData忽略模型中不可用的属性?

1 个答案:

答案 0 :(得分:1)

有一种方法可以处理您的方案。它不是忽略属性,而是通过将实体类型定义为开放类型来接受它们,以便它可以接受客户端未在模型中定义的动态属性,并在必要时将它们存储以供将来查询。

您可以找到以下教程来实现开放式支持:http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/use-open-types-in-odata-v4