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.

Puede ver la muestra en PowerApps-Samples/dataverse/webapi/C#-NETCore/Schema/RetrieveMetadataChanges/

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

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. Abrir el archivo RetrieveMetadataChanges.sln usando Visual Studio 2022

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

    Property Instrucciones
    Url La URL para su entorno. Reemplazar el valor de marcador de posición https://yourorg.api.crm.dynamics.com con el valor para su entorno. Consulte Ver recursos de desarrollador para encontrar la URL de su entorno.
    UserPrincipalName Reemplazar el valor de marcador de posición you@yourorg.onmicrosoft.com con el valor de UPN que usa para acceder al entorno.
    Password Reemplazar el valor de marcador de posición yourPassword con la contraseña que utiliza.
  5. Guarde el archivo appsettings.json

  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 Query establecido para la consulta.
  2. Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
  3. Almacene en caché el valor de RetrieveMetadataChangesResponse.EntityMetadata.
  4. Guarde el valor de 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 la tabla de contactos.

Detectar columna agregada

  1. Cree una nueva instancia de RetrieveMetadataChanges con el parámetro Query establecido para la consulta original.
  2. Establezca RetrieveMetadataChangesRequest.ClientVersionStamp con el valor previamente devuelto desde la primera solicitud.
  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 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 RetrieveMetadataChanges con el parámetro Query establecido para la consulta original.
  2. Establezca RetrieveMetadataChangesRequest.ClientVersionStamp con el valor previamente devuelto desde la segunda solicitud.
  3. Establezca RetrieveMetadataChangesRequest.DeletedMetadataFilters a DeletedMetadataFilters.Attribute 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 RetrieveMetadataChangesResponse.DeletedMetadata, usando DeletedMetadataFilters.Attribute 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#)

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).