2

我正在尝试查询具有 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 
4

1 回答 1

3

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

于 2012-12-17T16:09:26.977 回答