[EnableQuery(PageSize=20)]
とはどう違い[EnableQuery(MaxTop=20)]
ますか?
私が知る限り、どちらも結果に上限を設定しています。
GET odata/Products?$top=100
どちらかを呼び出しても、20 の結果しか得られません。
[EnableQuery(PageSize=20)]
とはどう違い[EnableQuery(MaxTop=20)]
ますか?
私が知る限り、どちらも結果に上限を設定しています。
GET odata/Products?$top=100
どちらかを呼び出しても、20 の結果しか得られません。
@ jvitor83 の答えは理にかなっていると思います。
MaxTop は、リクエスト URI に $top が含まれるシナリオにのみ影響します。$top 値が MaxTop 値を超えると、次のエラー メッセージが表示されることがあります。
{
"error":{
"code":"","message":"The query specified in the URI is not valid. The limit of '20' for Top query has been exceeded. The value from the incoming request is
'100'."
}
}
ただし、PageSize は最終的なクエリ結果に影響を与えます。たとえば、 を設定[EnableQuery(PageSize=20)]
すると、最終結果の数が 20 を超えた場合にサーバーが 20 の結果を返すことを意味します。
$top を使用するかどうかによって、最終的なクエリ結果が決まります。$top が設定されていない場合、最終的なクエリ結果は合計データ セットです。また、MaxTop 以下が$top=x
設定されている場合、最終結果は topです。x
x
MSDNで説明されているように:
MaxTop = クライアントが要求できる $top の最大値を取得または設定します。
PageSize = クライアントに送り返すクエリ結果の最大数を取得または設定します。