4D v19dataClass.fromCollection( ) |
||||||||
|
4D v19
dataClass.fromCollection( )
|
Propiedad | Tipo | Descripción |
context | Texto | Etiqueta para el contexto de optimización aplicado a la selección de entidades. Este contexto será utilizado por el código que maneja la selección de entidades para que pueda beneficiarse de la optimización. Esta funcionalidad está diseñada para el procesamiento cliente/servidor ORDA; para más información, consulte la sección Optimización Cliente/servidor. |
Queremos actualizar una entity existent. La propiedd __NEW no es dada, la llave primaria employee es dada y existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=668 //Llave primaria existente en la tabla Employee
$emp.firstName:="Arthur"
$emp.lastName:="Martin"
$emp.employer:=New object("ID";121) //Llave primaria existente en dataClass relativa Company
// Para este empleado, podemos cambiar Company utilizando otro PK existente en la dataClass relativa Company
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Queremos actualizar una entidad existente. La propiedad __NEW no se da, la llave primaria del empleado está con el atributo __KEY y existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.__KEY:=1720 //PK existente en tabla Employee
$emp.firstName:="John"
$emp.lastName:="Boorman"
$emp.employer:=New object("ID";121) //PK existente en la dataClass Company relacionada
// Para este empleado, podemos cambiar Company utilizando otro PK existente en la dataClass Company relacionada
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Queremos crear una nueva entidad a partir de una colección:
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)
Queremos crear una entidad. La propiedad __NEW es True, la llave primaria del empleado no se da:
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) //Llave primaria existente en la dataClass relativa Company
$emp.__NEW:=True
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Queremos crear una entidad. La propiedad __NEW se omite, la llave primaria employee es dada y no existe:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=10000 //Llave primaria inexistente
$emp.firstName:="Françoise"
$emp.lastName:="Sagan"
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
En este ejemplo, la primera entidad será creada y guardada pero la segunda fallará ya que ambas utilizan la misma llave primaria:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$emp2;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.ID:=10001 // Llave primaria inexistente
$emp.firstName:="Simone"
$emp.lastName:="Martin"
$emp.__NEW:=True
$empsCollection.push($emp)
$emp2:=New object
$emp2.ID:=10001 // Misma llave primaria, ya existente
$emp2.firstName:="Marc"
$emp2.lastName:="Smith"
$emp2.__NEW:=True
$empsCollection.push($emp2)
$employees:=ds.Employee.fromCollection($empsCollection)
//first entity is created
//Error llave duplicada para la segunda entidad
Producto: 4D
Tema: ORDA - DataClass
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)