$clean
Cria um conjunto de entidades a partir de um conjunto de entidades existente, mas sem suas entidades excluídas, se houver (e.g. $clean=true
)
Descrição
$clean
creates a new entity set containing the same entities as entitySetID
but without references to deleted entities (if any).
Por padrão, quando uma entidade é excluída, sua(s) referência(s) no(s) conjunto(s) de entidade(s) existente(s) se torna(m) undefined, mas não é(são) removida(s). They are also still included in the "count" property of the entity set. Chamar $clean
no conjunto de entidades retorna um novo conjunto de entidades atualizado, sem referências de entidades undefined.
$clean
pode ser seguido por $method=entityset
para criar a nova entidade definida no servidor:
/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7?$clean=true&$method=entityset
Exemplo
- Criamos um conjunto de entidades:
GET /rest/Speciality?$filter="ID<=3"&$method=entityset
Três entidades são recebidas e obtemos o conjunto de entidades DF6903FB5879404A9A818884CFC6F62A
{
"__ENTITYSET": "/rest/Speciality/$entityset/DF6903FB5879404A9A818884CFC6F62A",
"__DATACLASS": "Speciality",
"__entityModel": "Speciality",
"__GlobalStamp": 0,
"__COUNT": 3,
"__FIRST": 0,
"__ENTITIES": [
{
"__KEY": "1",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 1,
"name": "Surgery",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[1]/infos?$expand=infos"
}
}
},
{
"__KEY": "2",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 2,
"name": "Otolaryngology",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[2]/infos?$expand=infos"
}
}
},
{
"__KEY": "3",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 3,
"name": "Dentist",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[3]/infos?$expand=infos"
}
}
},
],
"__SENT": 3
}
- Excluímos a entidade de
KEY=2
(consulte how to delete an entity) e, em seguida, essa solicitação é enviada:
GET /rest/Speciality/$entityset/DF6903FB5879404A9A818884CFC6F62A
O conjunto de entidades é retornado e ainda contém 3 entidades. There is an undefined entity for the deleted entity (with stamp = 0):
{
"__DATACLASS": "Speciality",
"__entityModel": "Speciality",
"__GlobalStamp": 0,
"__COUNT": 3,
"__FIRST": 0,
"__ENTITIES": [
{
"__KEY": "1",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 1,
"name": "Surgery",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[1]/infos?$expand=infos"
}
}
},
{
"__STAMP": 0
},
{
"__KEY": "3",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 3,
"name": "Dentist",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[3]/infos?$expand=infos"
}
}
},
],
"__SENT": 3
}
- Se essa solicitação for enviada:
GET /rest/Speciality/$entityset/DF6903FB5879404A9A818884CFC6F62A?$clean=true&$method=entityset
We clean the entity set DF6903FB5879404A9A818884CFC6F62A and receive a new entity set (entity set D7BFBC49375B4FE5A94CDD17AA535F73) that does not contain the dropped entity:
{
"__ENTITYSET": "/rest/Speciality/$entityset/D7BFBC49375B4FE5A94CDD17AA535F73",
"__DATACLASS": "Speciality",
"__entityModel": "Speciality",
"__GlobalStamp": 0,
"__COUNT": 2,
"__FIRST": 0,
"__ENTITIES": [
{
"__KEY": "1",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 1,
"name": "Surgery",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[1]/infos?$expand=infos"
}
}
},
{
"__KEY": "3",
"__TIMESTAMP": "2024-04-23T10:42:28.097Z",
"__STAMP": 131,
"ID": 3,
"name": "Dentist",
"infos": {
"__deferred": {
"uri": "/rest/Speciality[3]/infos?$expand=infos"
}
}
}
],
"__SENT": 2
}