Share via


Consultar definiciones de esquema y detectar cambios

Este ejemplo muestra cómo recuperar y detectar cambios en las definiciones de la tabla usando el método RetrieveMetadataChangeRequest. Puede ver la muestra en PowerApps-Samples/dataverse/orgsvc/C#-NETCore/Schema/RetrieveMetadataChanges/

Consulte estos temas para obtener una explicación de la funcionalidad:

Cómo ejecutar esta muestra

Consulte las instrucciones aquí: Instrucciones de ejemplos de esquema

Demostraciones

Este ejemplo muestra cómo recuperar definiciones de esquema para un conjunto específico de definiciones de columna y guardarlas (en la memoria) para representar una caché.

Luego crea una nueva columna, recupera los datos solo para esa nueva columna, que agrega a la memoria caché.

Luego, elimina la columna, recupera datos sobre los elementos eliminados y los usa para eliminar la definición de la columna eliminada de la caché.

Esta muestra tiene 6 secciones:

Definir consulta

La definición de una consulta usando EntityQueryExpression que devolverá todas las columnas de opción de la lista de selección de la tabla de contactos.

Inicializar caché

  1. Cree una instancia de RetrieveMetadataChangesRequest con el conjunto de parámetros Query establecido para la consulta.
  2. Envíe la solicitud usando IOrganizationService.Execute.
  3. Almacene en caché el valor RetrieveMetadataChangesResponse.EntityMetadata.
  4. Guarde e valor RetrieveMetadataChangesResponse.ServerVersionStamp para usarlo en la siguiente solicitud.
  5. Escriba una lista de todas las columnas actuales en la caché.

Agregar columna de opción

Cree una nueva columna de opción creando una nueva instancia de PicklistAttributeMetadata en los atributos de la tabla de contactos.

Detectar columna agregada

  1. Cree una nueva instancia de RetrieveMetadataChangesRequest con el conjunto de parámetros Query establecido para la consulta original.
  2. Establezca RetrieveMetadataChangesRequest.ClientVersionStamp con el valor previamente devuelto desde la primera solicitud.
  3. Envíe la solicitud usando IOrganizationService.Execute.
  4. Compruebe que solo se haya devuelto una nueva definición de columna para representar la columna de elección que se creó.
  5. Guarde e valor RetrieveMetadataChangesResponse.ServerVersionStamp para usarlo en la siguiente solicitud.
  6. Agregue esos datos de columna de opción a la memoria caché.

Eliminar columna de opción

Elimine la columna de opción creada anteriormente.

Detectar columna eliminada

  1. Cree una nueva instancia de RetrieveMetadataChangesRequest con el conjunto de parámetros Query establecido para la consulta original.
  2. Establezca RetrieveMetadataChangesRequest.ClientVersionStamp con el valor previamente devuelto desde la segunda solicitud.
  3. Establezca RetrieveMetadataChangesRequest.DeletedMetadataFilters en DeletedMetadataFilters.Attribute porque solo estamos buscando definiciones de columnas eliminadas.
  4. Envíe la solicitud usando IOrganizationService.Execute.
  5. Encuentre el id. de la columna de opción eliminada en RetrieveMetadataChangesResponse.DeletedMetadata, usando DeletedMetadataFilters.Attribute como valor de índice para la colección.
  6. Quite la definición de columna de la memoria caché.
  7. Escriba una lista de todas las columnas actuales en la caché.

Limpiar

No se requiere limpieza porque se eliminaron todos los datos creados por esta muestra.

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).