Asp.net web api Web API OData GeographyPoint对象必须实现IConvertible

Asp.net web api Web API OData GeographyPoint对象必须实现IConvertible,asp.net-web-api,odata,spatial,Asp.net Web Api,Odata,Spatial,我一直关注这篇文章。使用时也会出现同样的问题。它在查询空间数据时工作良好。但当我试图发布一个具有GeographyPoint属性的新实体时,Web API odata v4控制器ModelState有一个InvalidCastException,表示对象必须实现IConvertible。有人见过这个吗?哪个对象需要实现IConvertable?地理点?该类位于Microsoft.Spatial NuGet包中 下面是使用olingo odatajs-4.0.0.js发送的请求 { "reques

我一直关注这篇文章。使用时也会出现同样的问题。它在查询空间数据时工作良好。但当我试图发布一个具有GeographyPoint属性的新实体时,Web API odata v4控制器ModelState有一个InvalidCastException,表示对象必须实现IConvertible。有人见过这个吗?哪个对象需要实现IConvertable?地理点?该类位于Microsoft.Spatial NuGet包中

下面是使用olingo odatajs-4.0.0.js发送的请求

{
"requestUri": "/odata/Fields",
"method": "POST",
"data": {
    "Block": "Block B",
    "Location": {
        "type": "Point",
        "coordinates": [
            -2,
            55
        ]
    },
    "Name": "Field B",
    "ClientId": 1
},
"headers": {
    "Accept": "application/json;q=0.9, */*;q=0.1",
    "OData-Version": "4.0",
    "Content-Type": "application/json",
    "OData-MaxVersion": "4.0"
},
"recognizeDates": true,
"callbackParameterName": "$callback",
"formatQueryString": "$format=json",
"enableJsonpCallback": false,
"async": true
}
ModelState中错误的堆栈跟踪为

System.InvalidCastException: Object must implement IConvertible.
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Web.OData.Formatter.EdmPrimitiveHelpers.ConvertPrimitiveValue(Object value, Type type)
at System.Web.OData.Formatter.Deserialization.DeserializationHelpers.SetDeclaredProperty(Object resource, EdmTypeKind propertyKind, String propertyName, Object propertyValue, IEdmProperty edmProperty, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.DeserializationHelpers.ApplyProperty(ODataProperty property, IEdmStructuredTypeReference resourceType, Object resource, ODataDeserializerProvider deserializerProvider, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.ApplyStructuralProperty(Object entityResource, ODataProperty structuralProperty, IEdmEntityTypeReference entityType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.ApplyStructuralProperties(Object entityResource, ODataEntryWithNavigationLinks entryWrapper, IEdmEntityTypeReference entityType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.ApplyEntityProperties(Object entityResource, ODataEntryWithNavigationLinks entryWrapper, IEdmEntityTypeReference entityType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.ReadEntry(ODataEntryWithNavigationLinks entryWrapper, IEdmEntityTypeReference entityType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.ReadInline(Object item, IEdmTypeReference edmType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataEntityDeserializer.Read(ODataMessageReader messageReader, Type type, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.ODataMediaTypeFormatter.ReadFromStream(Type type, Stream readStream, HttpContent content, IFormatterLogger formatterLogger)
修补程序的ModelState也包含相同的错误