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 に答える