Compartilhar via


EnableQueryAttribute Classe

Definição

Essa classe define um atributo que pode ser aplicado a uma ação para habilitar consultas usando a sintaxe de consulta OData. Para evitar o processamento de consultas inesperadas ou mal-intencionadas, use as configurações de validação em EnableQueryAttribute para validar as consultas de entrada. Para obter mais informações, visite http://go.microsoft.com/fwlink/?LinkId=279712.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)]
public class EnableQueryAttribute : System.Web.Http.Filters.ActionFilterAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)]
public class EnableQueryAttribute : Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)>]
type EnableQueryAttribute = class
    inherit ActionFilterAttribute
Public Class EnableQueryAttribute
Inherits ActionFilterAttribute
Herança
System.Web.Http.Filters.ActionFilterAttribute
EnableQueryAttribute
Herança
EnableQueryAttribute
Atributos

Construtores

EnableQueryAttribute()

Permite que uma ação do controlador suporte os parâmetros de consulta OData.

Propriedades

AllowedArithmeticOperators

Obtém ou define um valor que representa uma lista de operadores aritméticos permitidos incluindo 'add', 'sub', 'mul', 'div', 'mod'.

AllowedFunctions

Obtém ou define um valor que representa uma lista de funções permitidas usadas na consulta $filter. Entre as funções suportadas estão as seguintes:

AllowedLogicalOperators

Obtém ou define um valor que representa uma lista de Operadores lógicos permitidos, tais como 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'.

AllowedOrderByProperties

Obtém ou define uma cadeia de caracteres com lista separada por vírgulas de nomes de propriedade. O resultado consultável pode ser ordenado apenas pelas propriedades definidas nesta lista.

Observação: por padrão essa cadeia de caracteres é nula, o que significa que ela pode ser ordenada por qualquer propriedade.

Por exemplo, definir esse valor como cadeia de caracteres nula ou vazia significa que permitimos a ordenação do resultado que pode ser consultado por quaisquer propriedades. Definir esse valor como "Name" significa que só é permitido ordenar o resultado consultável pela propriedade Nome.

AllowedQueryOptions

Obtém ou define os parâmetros de consulta que são permitidos nas consultas.

EnableConstantParameterization

Obtém ou define um valor indicando se as constantes devem ser parametrizadas. Parametrizar constantes resultaria em um melhor desempenho com o Entity Framework.

EnableCorrelatedSubqueryBuffering

Obtém ou define um valor que indica se as consultas com navegação expandida devem ser formuladas para incentivar que os resultados de subconsulta correlacionados sejam armazenados em buffer. Os resultados da subconsulta correlacionada de buffer podem reduzir o número de consultas de N + 1 para 2 armazenando em buffer os resultados da subconsulta.

EnsureStableOrdering

Obtém ou define um valor que indica se a composição de consultas deve alterar a consulta original quando necessário para garantir uma ordem de classificação estável.

HandleNullPropagation

Obtém ou define um valor indicando como a propagação nula deve ser tratada durante a composição de consultas.

HandleReferenceNavigationPropertyExpandFilter

Honre $filter dentro de $expand da propriedade de navegação não coleção. A propriedade expandida só é preenchida quando o filtro é avaliado como true. Essa configuração é falsa por padrão.

MaxAnyAllExpressionDepth

Obtém ou define a profundidade máxima dos elementos Any ou All aninhados dentro desta consulta. Este limite ajuda a evitar ataques de negação de serviço.

MaxExpansionDepth

Obtém ou define a profundidade máx. de expansão para a opção de consulta $expand. Para desativar a verificação de profundidade máxima de expansão, defina esta propriedade como 0.

MaxNodeCount

Obtém ou define o número máximo de nós dentro da árvore de sintaxe $filter.

MaxOrderByNodeCount

Obtém ou define o número máximo de expressões que podem estar presentes no $orderby.

MaxSkip

Obtém ou define o valor máximo de $skip que o cliente pode solicitar.

MaxTop

Obtém ou define o valor máximo de $top que o cliente pode solicitar.

PageSize

Obtém ou define o número máximo de resultados de consulta a ser enviado de volta aos clientes.

Métodos

ApplyQuery(IQueryable, ODataQueryOptions)

Aplica a consulta ao IQueryable determinado com base na consulta de entrada das configurações de URI e consulta. Por padrão, a implementação suporta $top, $skip, $orderby e $filter. Substitua este método para realizar uma composição de consultas adicional da consulta.

ApplyQuery(Object, ODataQueryOptions)

Aplica a consulta à entidade determinada com base na consulta de entrada das configurações de URI e de consulta.

CreateErrorResponse(String, Exception)

Crie uma resposta de erro.

GetModel(Type, HttpRequest, ActionDescriptor)

Obtém o modelo EDM para o tipo e a solicitação fornecidos. Substitua esse método para personalizar o modelo EDM usado para consulta.

GetModel(Type, HttpRequestMessage, HttpActionDescriptor)

Obtém o modelo EDM para o tipo e a solicitação determinados. Substitua este método para personalizar o modelo EDM usado para a consulta.

OnActionExecuted(ActionExecutedContext)

Realiza a composição de consultas após a ação ser executada. Primeiro tenta recuperar o IQueryable da mensagem de resposta retornada. Em seguida, ele valida a consulta do URI com base nas configurações de validação em EnableQueryAttribute. Finalmente, aplica a consulta apropriadamente e a redefine na mensagem de resposta.

OnActionExecuted(HttpActionExecutedContext)

Realiza a composição de consultas após a ação ser executada. Primeiro tenta recuperar o IQueryable da mensagem de resposta retornada. Em seguida, ele valida a consulta do URI com base nas configurações de validação em EnableQueryAttribute. Finalmente, aplica a consulta apropriadamente e a redefine na mensagem de resposta.

OnActionExecuting(ActionExecutingContext)

Essa classe define um atributo que pode ser aplicado a uma ação para habilitar consultas usando a sintaxe de consulta OData. Para evitar o processamento de consultas inesperadas ou mal-intencionadas, use as configurações de validação em EnableQueryAttribute para validar as consultas de entrada. Para obter mais informações, visite http://go.microsoft.com/fwlink/?LinkId=279712.

ValidateQuery(HttpRequest, ODataQueryOptions)

Valida a consulta OData na solicitação de entrada. Por padrão, a implementação gera uma exceção se a consulta contiver parâmetros de consulta não suportados. Substitui este método para realizar uma validação adicional da consulta.

ValidateQuery(HttpRequestMessage, ODataQueryOptions)

Valida a consulta OData na solicitação de entrada. Por padrão, a implementação gera uma exceção se a consulta contiver parâmetros de consulta não suportados. Substitui este método para realizar uma validação adicional da consulta.

Aplica-se a