Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A execução de qualquer um dos seguintes operadores Entity SQL envolve a comparação de instâncias de tipo:
Comparação explícita
Operações de igualdade:
=
!=
Operações de encomenda:
<
<=
>
>=
Operações de anulabilidade:
É NULA:
NÃO É NULO
Distinção explícita
Distinção de igualdade:
DISTINTO
AGRUPAR POR
Distinção de ordenação:
- ORDENAR POR
Distinção implícita
Definir operações e predicados (igualdade):
UNIÃO
INTERSECÇÃO
EXCETO
CONFIGURAÇÃO
SOBREPOSIÇÕES
Predicados do item (igualdade):
- IN
Combinações suportadas
A tabela a seguir mostra todas as combinações suportadas de operadores de comparação para cada tipo de tipo:
| Tipo | = != |
AGRUPAR POR DISTINTO |
UNIÃO INTERSECT EXCEPT CONJUNTO SOBREPOSIÇÕES |
EM |
<
<= > >= |
ORDENAR POR |
É NULA: NÃO É NULO |
|---|---|---|---|---|---|---|---|
| Tipo de entidade | Refª1 | Todos os imóveis2 | Todos os imóveis2 | Todos os imóveis2 | Lançamento3 | Lançamento3 | Refª1 |
| Tipo complexo | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 |
| Linha | Todos os imóveis4 | Todos os imóveis4 | Todos os imóveis4 | Lançamento3 | Lançamento3 | Todos os imóveis4 | Lançamento3 |
| Tipo primitivo | Específico do fornecedor | Específico do fornecedor | Específico do fornecedor | Específico do fornecedor | Específico do fornecedor | Específico do fornecedor | Específico do fornecedor |
| Multiconjunto | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 | Lançamento3 |
| Refª | Sim 5 | Sim 5 | Sim 5 | Sim 5 | Lançamento | Lançamento | Sim 5 |
| Associação tipo |
Lançamento3 | Lançamento | Lançamento | Lançamento | Lançamento3 | Lançamento3 | Lançamento3 |
1ºAs referências das instâncias de tipo de entidade dadas são implicitamente comparadas, 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á lançada. Por exemplo, a consulta a seguir lançará uma exceção:
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != REF(p2)
2ºAs propriedades de tipos complexos são achatadas antes de serem enviadas para a loja, para que se tornem comparáveis (desde que todas as suas propriedades sejam comparáveis). Ver também 4.
3ºO tempo de execução do Entity Framework deteta o caso sem suporte e lança uma exceção significativa sem envolver o provedor/armazenamento.
4ºÉ feita uma tentativa de comparar todas as propriedades. Se houver uma propriedade de um tipo não comparável, como text, ntext ou image, uma exceção de servidor poderá ser lançada.
5ºTodos os elementos individuais das referências são comparados (isso inclui o nome do conjunto de entidades e todas as propriedades-chave do tipo de entidade).