Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A execução de qualquer um dos seguintes operadores SQL de entidade envolve a comparação de instâncias de tipo:
Comparação explícita
Operações de igualdade:
=
!=
Operações de ordenação:
<
<=
>
>=
Operações de nulidade:
É NULO
NÃO É NULO
Distinção explícita
Distinção de igualdade:
DISTINCT
AGRUPAR POR
Distinção de ordenação:
- ORDENAR POR
Distinção implícita
Definir operações e predicados (igualdade):
UNIÃO
CRUZAR-SE
EXCETO
SET
SOBREPOSIÇÕES
Predicados de item (igualdade):
- IN
Combinações com suporte
A tabela a seguir mostra todas as combinações compatíveis de operadores de comparação para cada tipo de tipo:
| Tipo | = != |
AGRUPAR POR DISTINÇÃO |
UNIÃO INTERSECT EXCEPT SET SOBREPOSIÇÕES |
IN |
<
<= > >= |
ORDER BY |
IS NULL NÃO É NULO |
|---|---|---|---|---|---|---|---|
| Tipo de entidade | Ref1 | Todas as propriedades2 | Todas as propriedades2 | Todas as propriedades2 | Gerar3 | Gerar3 | Ref1 |
| Tipo complexo | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 |
| Linha | Todas as propriedades4 | Todas as propriedades4 | Todas as propriedades4 | Gerar3 | Gerar3 | Todas as propriedades4 | Gerar3 |
| Tipo primitivo | Específico do provedor | Específico do provedor | Específico do provedor | Específico do provedor | Específico do provedor | Específico do provedor | Específico do provedor |
| Multiset | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 | Gerar3 |
| Ref | Sim5 | Sim5 | Sim5 | Sim5 | Throw | Throw | Sim5 |
| Associação tipo |
Gerar3 | Throw | Throw | Throw | Gerar3 | Gerar3 | Gerar3 |
1As referências das instâncias de tipo de entidade fornecidas são comparadas implicitamente, conforme mostrado no exemplo a seguir:
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != p2 OR p1 IS NULL
Uma instância de entidade não pode ser comparada a uma referência explícita. Se isso for tentado, uma exceção será gerada. Por exemplo, a consulta a seguir gerará uma exceção:
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != REF(p2)
algarismoAs propriedades de tipos complexos são niveladas antes de serem enviadas para o repositório, de modo que se tornem comparáveis (desde que todas as suas propriedades sejam comparáveis). Veja também 4.
3O runtime do Entity Framework detecta o caso sem suporte e gera uma exceção significativa sem envolver o provedor/repositório.
4É feita uma tentativa de comparar todas as propriedades. Se houver uma propriedade que seja de um tipo não comparável, como texto, ntext ou imagem, uma exceção de servidor poderá ser gerada.
5Todos os elementos individuais das referências são comparados (isso inclui o nome do conjunto de entidades e todas as propriedades de chave do tipo de entidade).