我正在尝试查询具有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
答案 0 :(得分:3)
Int64文字的格式应为[ - ] [0-9] + L,因此在您的情况下为666423361622L(注意末尾的L字母)。这是按http://www.odata.org/documentation/overview#AbstractTypeSystem。