ODATA - 类型为Int64的查询字段

时间:2012-12-17 13:26:22

标签: web-services odata

我正在尝试查询具有Int64类型的字段(来自我的ODATA服务)。查询看起来像:

http://localhost/Data/MyTable?%24inlinecount=allpages&%24top=100&%24filter=BIGID+eq+666423361622

但它抛出异常 -

"An error occurred while processing this request".

在调试模式下检查异常细节后,我发现了真正的异常 -

{System.OverflowException: Value was either too large or too small for an Int32...}

有没有办法,我可以让ODATA不使用解析到Int32?也许是这样的:

filter=(Int64)BIGID+eq+666423361622 

1 个答案:

答案 0 :(得分:3)

Int64文字的格式应为[ - ] [0-9] + L,因此在您的情况下为666423361622L(注意末尾的L字母)。这是按http://www.odata.org/documentation/overview#AbstractTypeSystem