4D v19dataClass.fromCollection( ) |
||||||||
|
4D v19
dataClass.fromCollection( )
|
Propriedade | Tipo | Descrição |
context | Texto | Rótulo para o contexto de otimização aplicado à seleção de entidade. Esse contexto será usado pelo código que manipula a seleção de entidade para que possa se beneficiar da otimização. Esse recurso é projetado para processamento de cliente / servidor ORDA; Para mais informações, consulte a seção Client/server optimization. |
Para atualizar uma entidade existente, a propriedade __NEW não é dada, e a chave primária de funcionário é dada e existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=668 // Chave primária existente em tabela Employee
$emp.firstName:="Arthur"
$emp.lastName:="Martin"
$emp.employer:=New object("ID";121) //Chave primária existe na classe de dados relacionada Company
// Para este empregado, podemos mudar a Company usando outra Chave primária existente na classe de dados relacionada Company
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Se quisermos atualizar uma entidade existente, a propriedade __NEW não dada, a chave primária de funcionários está com o atributo __KEY e existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.__KEY:=1720 //Chave Primária existente em tabela Funcionários - Employees
$emp.firstName:="John"
$emp.lastName:="Boorman"
$emp.employer:=New object("ID";121) //Existing PK in the related dataClass Company
// Para este funcionário, podemos mudar a Empresa - Company usando outra chave primária existente na classe de dados relacionada Company
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Criação simples de uma nova entidade da coleção:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.firstName:="Victor"
$emp.lastName:="Hugo"
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Se quisermos criar uma entidade, a propriedade __NEW é True, e a chave primária de funcionários não é dada:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.firstName:="Mary"
$emp.lastName:="Smith"
$emp.employer:=New object("__KEY";121) // Chave primária existente na classe de dados relacionada Company
$emp.__NEW:=True
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Se quisermos criar uma entidade, a propriedade __NEW é omitida, a chave primária do funcionário é dada e não existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=10000 //Chave primária não existe
$emp.firstName:="Françoise"
$emp.lastName:="Sagan"
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Neste exemplo, a primeira entidade será criada e salva mas a segunda vai falhar já que ambas usam a mesma chave primária:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$emp2;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=10001 // Chave primária não existe
$emp.firstName:="Simone"
$emp.lastName:="Martin"
$emp.__NEW:=True
$empsCollection.push($emp)
$emp2:=New object
$emp2.ID:=10001 // Mesma chave primária, já existente
$emp2.firstName:="Marc"
$emp2.lastName:="Smith"
$emp2.__NEW:=True
$empsCollection.push($emp2)
$employees:=ds.Employee.fromCollection($empsCollection)
//first entity is created
//erro de duplicação de chave para a segunda entidade
Produto: 4D
Tema: ORDA - DataClass
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)