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
Clonar o descargar el repositorio de ejemplos de PowerApps.
Localizar la carpeta /dataverse/webapi/C#-NETx/RetrieveMetadataChanges/.
Abrir el archivo
RetrieveMetadataChanges.sln
usando Visual Studio 2022Editar 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.Guarde el archivo
appsettings.json
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é
- Cree una instancia de RetrieveMetadataChanges con el conjunto de parámetros
Query
establecido para la consulta. - Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
- Almacene en caché el valor de
RetrieveMetadataChangesResponse.EntityMetadata
. - Guarde el valor de
RetrieveMetadataChangesResponse.ServerVersionStamp
para usarlo en la siguiente solicitud. - 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
- Cree una nueva instancia de RetrieveMetadataChanges con el parámetro
Query
establecido para la consulta original. - Establezca
RetrieveMetadataChangesRequest.ClientVersionStamp
con el valor previamente devuelto desde la primera solicitud. - Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
- Compruebe que solo se haya devuelto una nueva definición de columna para representar la columna de elección que se creó.
- Guarde el valor de
RetrieveMetadataChangesResponse.ServerVersionStamp
para usarlo en la siguiente solicitud. - 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
- Cree una nueva instancia de RetrieveMetadataChanges con el parámetro
Query
establecido para la consulta original. - Establezca
RetrieveMetadataChangesRequest.ClientVersionStamp
con el valor previamente devuelto desde la segunda solicitud. - Establezca
RetrieveMetadataChangesRequest.DeletedMetadataFilters
aDeletedMetadataFilters.Attribute
porque estamos buscando definiciones de columnas eliminadas. - Envíe la solicitud y obtenga un RetrieveMetadataChangesResponse.
- Encuentre el id. de la columna de opción eliminada en
RetrieveMetadataChangesResponse.DeletedMetadata
, usandoDeletedMetadataFilters.Attribute
como un valor de índice para la colección. - Quite la definición de columna de la memoria caché.
- 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).