Compartir a través de


API web, consultar definiciones de esquema y detectar ejemplo de cambios (C#)

Este ejemplo muestra cómo recuperar y detectar cambios en las definiciones de tabla usando RetrieveMetadataChanges Action.

Ver este ejemplo en Github

Consulte estos artículos para obtener una explicación de la funcionalidad:

  • Consultar definiciones de esquema
  • Almacenar en caché datos de esquema

Esta muestra utiliza el código auxiliar común de la biblioteca de clases WebAPIService (C#).

Requisitos previos

Los siguientes requisitos previos son necesarios para compilar y ejecutar el ejemplo:

  • Microsoft Visual Studio 2022.
  • Acceso a Dataverse con privilegios para realizar operaciones de datos.

Cómo ejecutar esta muestra

  1. Clonar o descargar el repositorio de ejemplos de PowerApps.

  2. Localizar la carpeta /dataverse/webapi/C#-NETx/RetrieveMetadataChanges/.

  3. Abra el archivo RetrieveMetadataChanges.sln mediante Visual Studio 2022

  4. Editar el archivo para establecer los siguientes valores de propiedad:

    Propiedad Instrucciones
    Url La URL de su entorno. Reemplace el valor del marcador de posición con el valor para su entorno. Consulte los recursos para desarrolladores para encontrar la URL de su entorno.
    UserPrincipalName Reemplazar el valor de marcador de posición con el valor de UPN que usa para acceder al entorno.
    Password Reemplace el valor del marcador de posición con la contraseña que utiliza.
  5. Guarde el archivo

  6. Presione F5 para ejecutar el ejemplo.

Código

El código para este ejemplo está aquí: PowerApps-Samples/dataverse/webapi/C#-NETx/RetrieveMetadataChanges/Program.cs

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 seis secciones:

Definir consulta

Definir una consulta usando EntityQueryExpression que devuelve todas las columnas de opciones de la lista de selección de la tabla de contactos.

Inicializar caché

  1. Cree una instancia de RetrieveMetadataChanges con el conjunto de parámetros establecido para la consulta.
  2. Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
  3. Almacene en caché el valor.
  4. Guarde el valor de 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 la tabla de contactos.

Detectar columna agregada

  1. Cree una nueva instancia de RetrieveMetadataChanges con el parámetro establecido para la consulta original.
  2. Configure la variable con el valor previamente devuelto desde la primera petición.
  3. Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
  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 el valor de 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 RetrieveMetadataChanges con el parámetro establecido para la consulta original.
  2. Configure el parámetro con el valor previamente devuelto de la segunda solicitud.
  3. Establezca a porque estamos buscando definiciones de columnas eliminadas.
  4. Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
  5. Encuentre el id. de la columna de opción eliminada en , usando como un 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.

Consulte también

Consultar definiciones de esquema
Almacenar en caché datos de esquema
Usar la API web de Dataverse
Biblioteca de clases WebAPIService (C#)
Ejemplo de operaciones de esquema de tabla de API web (C#)