El método entitySelection.extract( ) devuelve una colección que contiene los valores rutaProp extraídos de la selección de entidades.
rutaProp puede referirse a:
- un atributo de clase de datos escalar,
- una entidad relacionada,
- entidades relacionadas.
Si rutaProp no es válido, se devuelve una colección vacía.
Este método acepta dos sintaxis.
Con esta sintaxis, entitySelection.extract( ) llena la colección devuelta con los valores de rutaProp de la selección de entidades.
Por defecto, las entidades para las que rutaProp es null o indefinida se ignoran en la colección resultante. Puede pasar la constante ck keep null en el parámetro opcion para incluir estos valores como elementos null en la colección devuelta.
- Los atributos clase de datos con dataClassAttribute.kind = "relatedEntity" se extraen como una colección de entidades (se mantienen los duplicados)..
- Los atributos clase de datos con dataClassAttribute.kind = "relatedEntities" se extraen como una colección de selecciones de entidades.
Con esta sintaxis, entitySelection.extract( ) llena la colección devuelta con las propiedades rutaProp y cada elemento de la colección es un objeto con propiedades rutaObj llenas con las propiedades correspondientes de propertyPath. Los valores Null se mantienen (el parámetro opcion se ignora con esta sintaxis).
Si se dan varias rutaProp, una rutaObj se debe dar para cada una. Solo se extraen los pares válidos [rutaProp , rutaObj ].
Nota: las entidades de una colección de entidades accedidas por [ ] no se vuelven a cargar desde la base de datos.
Dada la siguiente tabla y relación:

C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
C_OBJECT($status)
$firstnames:=ds.Teachers.all().extract("firstname")
$addresses:=ds.Teachers.all().extract("address";ck keep null)
$mailing:=ds.Teachers.all().extract("lastname";"who";"address";"to")
$mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
$teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
$teachers:=ds.Address.all().extract("teachers")