Saltar para o conteúdo principal
Versão: v20 R4 BETA

$entityset

Após criar um conjunto de entidades utilizando $method=entityset, pode utilizá-lo posteriormente.

Sintaxe disponível

SintaxeExemploDescrição
$entityset/{entitySetID}/People/$entityset/0ANUMBERRecupera um conjunto de entidades existente
$entityset/{entitySetID}?$operator...&$otherCollection/Employee/$entityset/0ANUMBER?$logicOperator=AND &$otherCollection=C0ANUMBERCria um novo conjunto de entidades a partir da comparação de conjuntos de entidades existentes

$entityset/{entitySetID}

Recupera um conjunto de entidades existente (, por exemplo,, People/$entityset/0AF4679A5C394746BFEB68D2162A19FF)

Descrição

Esta sintaxe permite-lhe executar qualquer operação num conjunto de entidades definido.

Como los conjuntos de entidades tienen un límite de tiempo (ya sea por defecto o después de llamar a $timeout con su propio límite), puede llamar a $savedfilter y a $savedorderby para guardar el filtro y ordenar por instruções cuando cree un conjunto de entidades.

When you retrieve an existing entity set stored in 4D Server's cache, you can also apply any of the following to the entity set: $expand, $filter, $orderby, $skip, and $top/$limit.

Exemplo

Após criar um conjunto de entidades, o ID do conjunto de entidades é devolvido com os dados. Este ID é chamado da seguinte forma:

GET /rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7

$entityset/{entitySetID}?$operator...&$otherCollection

Criar outro conjunto de entidades com base em conjuntos de entidades criados anteriormente

ParâmetroTipoDescrição
$operatorStringUm dos operadores lógicos a testar com o outro conjunto de entidades
$otherCollectionStringID do conjunto de entidades

Descrição

Depois de criar um conjunto de entidades (conjunto de entidades #1) utilizando $method=entityset, pode então criar outro conjunto de entidades utilizando a sintaxe $entityset/{entitySetID}?$operator... &$otherCollection, a propriedade $operator (cujos valores são mostrados abaixo), e outro conjunto de entidades (conjunto de entidades #2) definido pela propriedade $otherCollection. Os dois conjuntos de entidades devem estar na mesma classe de dados.

Pode então criar outro conjunto de entidades que contenha os resultados desta chamada, utilizando $method=entityset no final do pedido REST.

Eis os operadores lógicos:

OperadorDescrição
ANDDevolve as entidades em comum a ambos os conjuntos de entidades
OUDevolve as entidades em ambos os conjuntos de entidades
EXCEPTDevolve as entidades do conjunto de entidades #1 menos as do conjunto de entidades #2
INTERSECTDevolve true ou false se existir uma intersecção das entidades em ambos os conjuntos de entidades (o que significa que pelo menos uma entidade é comum em ambos os conjuntos de entidades)

Os operadores lógicos não fazem distinção entre maiúsculas e minúsculas, pelo que pode escrever "AND" ou "and".

Segue-se uma representação dos operadores lógicos com base em dois conjuntos de entidades. A secção vermelha é o que é devolvido.

AND

OU

EXCEPT

A sintaxe é a seguinte:

GET /rest/dataClass/$entityset/entitySetID?$logicOperator=AND&$otherCollection=entitySetID

Exemplo

No exemplo abaixo, devolvemos as entidades que estão em ambos os conjuntos de entidades, dado que utilizamos o operador lógico AND:

GET /rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$logicOperator=AND&$otherCollection=C05A0D887C664D4DA1B38366DD21629B

Se quisermos saber se os dois conjuntos de entidades se intersectam, podemos escrever o seguinte:

GET /rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$logicOperator=intersect&$otherCollection=C05A0D887C664D4DA1B38366DD21629B

Se houver uma intersecção, esta consulta devolve true. .

No exemplo seguinte, criamos um conjunto de entidades que combina todas as entidades de ambos os conjuntos de entidades:

GET /rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$logicOperator=OR&$otherCollection=C05A0D887C664D4DA1B38366DD21629B&$method=entityset