Ejemplo de operaciones de esquema de tabla de API web (C#)
Este ejemplo de .NET 6.0 muestra cómo realizar operaciones que crean y modifican definiciones de tablas, columnas y relaciones mediante la API web de Dataverse.
Esta muestra utiliza el código auxiliar común de la biblioteca de clases WebAPIService (C#).
Nota
Este ejemplo implementa las operaciones de Dataverse y la salida de la consola detalladas en el Ejemplo de operaciones de esquema de tabla de la API web y utiliza las construcciones comunes de C# que se describen en Ejemplos de API web (C#).
Requisitos previos
Los siguientes elementos son necesarios para compilar y ejecutar este 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/MetadataOperations/.
Abrir el archivo
MetadataOperations.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 para desarrolladores para encontrar esto.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/MetadataOperations/Program.cs
Demostraciones
Esta muestra tiene 11 regiones:
Sección 0: Crear un editor y una solución
Operaciones: cree un registro de solución y un registro de editor asociado.
Nota
Todos los componentes de la solución creados en este ejemplo se asociarán a la solución para que puedan exportarse. Para operaciones sin un mensaje con nombre, esta asociación se crea usando el encabezado de solicitud MSCRM.SolutionUniqueName
que establece el nombre único de la solución establecido como valor.
Todos los nombres de los componentes de la solución tienen el prefijo de personalización del editor.
Sección 1: Crear, recuperar y actualizar una tabla
Operaciones:
- Crear una nueva tabla propiedad del usuario
sample_BankAccount
enviando una solicitudPOST
a/EntityDefinitions
. - Recuperar la tabla creada enviando una solicitud
GET
a/EntityDefinitions(LogicalName='sample_bankaccount')
. - Actualizar la tabla creada enviando una solicitud
PUT
a/EntityDefinitions(LogicalName='sample_bankaccount')
.
Sección 2: Crear, recuperar y actualizar columnas
Operaciones:
- Crear una nueva columna booleana
sample_boolean
para la tablasample_BankAccount
enviando una solicitudPOST
a/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes
. - Recuperar la columna booleana
sample_boolean
enviando una solicitudGET
a/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean')
. - Actualizar la columna booleana
sample_boolean
enviando una solicitudPUT
a/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean')
. - Actualizar las etiquetas de opción para la columna booleana
sample_boolean
usando UpdateOptionValue Action. - Crear y recuperar una nueva columna datetime
sample_datetime
para la tablasample_BankAccount
. - Crear y recuperar una nueva columna decimal
sample_decimal
para la tablasample_BankAccount
. - Crear y recuperar una nueva columna de enteros
sample_integer
para la tablasample_BankAccount
. - Crear y recuperar una nueva columna de notas
sample_memo
para la tablasample_BankAccount
. - Crear y recuperar una nueva columna de dinero
sample_money
para la tablasample_BankAccount
. - Crear y recuperar una nueva columna de opción
sample_choice
para la tablasample_BankAccount
. - Agregue una opción nueva a la columna
sample_choice
usando InsertOptionValue Action. - Cambie el orden de las opciones de la columna
sample_choice
usando OrderOption Action. - Elimine una de las opciones de la columna
sample_choice
usando DeleteOptionValue Action. - Cree y recupere una nueva columna de selección múltiple
sample_multiselectchoice
para la tablasample_BankAccoun
t. - Cree una nueva opción de Estado para la tabla
sample_BankAccount
usando InsertStatusValue Action.
Sección 3: Crear y usar OptionSet global
Operaciones:
- Cree una nueva opción global denominada
sample_colors
enviando una solicitudPOST
a/GlobalOptionSetDefinitions
. - Recupere la opción global
sample_colors
enviando una solicitudGET
a/GlobalOptionSetDefinitions(<id value>)
. - Cree una nueva columna de elección
sample_colors
para la tablasample_BankAccount
usando la elección globalsample_colors
enviando una solicitudPOST
a/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes
y asociándola a la elección global.
Sección 4: Crear relación con el cliente
Operaciones:
- Cree una nueva columna de cliente
sample_customerid
para la tablasample_BankAccount
usando CreateCustomerRelationships Action. - Recupere la columna de cliente
sample_customerid
enviando una solicitudGET
a/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_customerid')
. - Recupere el Relaciones creado para la columna del cliente enviando solicitudes
GET
a/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata
.`.
Sección 5: Crear y recuperar una relación de uno a muchos
Operaciones:
- Verifique que la tabla
sample_BankAccount
es elegible para ser referenciada en una relación 1:N usando CanBeReferenced Function. - Verifique que la tabla
contact
es elegible para hacer referencia a otras tablas en una relación 1:N usando CanBeReferencing Function. - Identifique qué otras tablas pueden hacer referncia a la tabla
sample_BankAccount
en una relación 1:N usando GetValidReferencingEntities Function. - Cree una relación 1:N entre las tablas
sample_BankAccount
ycontact
enviando una solicitudPOST
a/RelationshipDefinitions
. - Recupere la relación 1:N enviando una solicitud
GET
a/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata
.
Sección 6: Crear y recuperar una relación de muchos a uno
Operaciones:
- Cree una relación N:1 entre las tablas
sample_BankAccount
yaccount
enviando una solicitudPOST
a/RelationshipDefinitions
. - Recupere la relación N:1 enviando una solicitud
GET
a/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata
.
Sección 7: Crear y recuperar una relación de muchos a muchos
Operaciones:
- Verifique que las tablas
sample_BankAccount
ycontact
son elegibles para participar en una relación N:N usando CanManyToMany Function. - Verifique que las tablas
sample_BankAccount
ycontact
son elegibles para participar en una relación N:N usando GetValidManyToMany Function. - Cree una relación N:N entre las tablas
sample_BankAccount
ycontact
enviando una solicitudPOST
a/RelationshipDefinitions
. - Recupere la relación N:N enviando una solicitud
GET
a/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata
.
Sección 8: Exportar una solución administrada
Operaciones: Exportar la solución creada en Sección 0: Crear publicador y solución que contiene los elementos creados en esta muestra usando el ExportSolution Action.
Sección 9: Eliminar registros de muestra
Operaciones: se agregó una referencia a cada registro creado en esta muestra a una lista a medida que se creaba. En este ejemplo, todos los registros se eliminan mediante una operación $batch
.
Sección 10: Importar y eliminar una solución administrada
Operaciones:
- Importe la solución exportada en la Sección 8 utilizando ImportSolution Action.
- Consulte la tabla de soluciones para obtener el
solutionid
de la solución importada. - Elimine la solución importada usando el
solutionid
.
Limpiar
Por defecto esta muestra eliminará todos los registros creados en ella. Si desea ver los registros creados después de completar la muestra, cambie la variable deleteCreatedRecords
a false
y se le pedirá que decida si desea eliminar los registros.
Consulte también
Usar la API web de Dataverse
Biblioteca de clases WebAPIService (C#)
Utilizar la API web con definiciones de tabla
Ejemplos de la API web
Ejemplo de operaciones básicas de la API web (C#)
Ejemplo de datos de consulta de API web (C#)
Ejemplo de operaciones condicionales de la API web (C#)
Ejemplo de funciones y acciones de la API web (C#)
Ejemplo de operaciones en paralelo de la API web WebApiService (C#)
Ejemplo de operaciones paralelas de API web con componentes de flujo de datos TPL (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).