Compartir a través de


Generar código con las extensiones de la herramienta de generación de código (Dynamics CRM 2015)

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Extensiones para desarrolladores de Microsoft Dynamics CRM 2015 y actualización de Microsoft Dynamics CRM Online 2015 proporciona una biblioteca de extensiones para la herramienta de generación de código de CrmSvcUtil.exe que se usa para generar una clase de contexto de datos y objetos de transferencia de datos para todas las entidades de Microsoft Dynamics 365. Este mecanismo sigue el mismo patrón de diseño que implementa SqlMetal en el marco de entidad. La clase de contexto de datos es responsable de todas las operaciones de datos y proporciona interfaces IQueryable para todas las entidades de Microsoft Dynamics 365. Puede recuperar los datos mediante la ejecución de una consulta LINQ en las propiedades ajustadas de la entidad IQueryable. Puede cambiar datos mediante los métodos AddObject, DeleteObject, UpdateObject y SaveChanges.

La extensión Microsoft.Xrm.Client.CodeGeneration para la herramienta de generación de código de CrmSvcUtil.exe proporciona las siguientes capacidades:

  • Genera clases de entidades escritas estáticamente.

  • Genera clases de relaciones de varios a varios.

  • Genera nombres de clase y nombres de propiedad basándose en los nombres de esquema de Microsoft Dynamics 365.

  • Genera una clase de contexto de datos compatible de Servicios de datos de WCF (Astoria/OData) para administrar las entidades.

En este tema

Clase de entidad

Clases de contexto de datos

Clase de entidad

Las clases de entidad generadas por la herramienta de generación de código ofrecen las siguientes características:

  • Soporte técnico para los atributos de anotación de Servicios de datos WCF (Astoria/OData).

  • Descriptores de acceso de atributo de entidad escritos de manera sólida que proporcionan lo siguiente:

    • Asignación de tipos de datos de Microsoft Dynamics 365 en tipos de datos estándar de CLR.

    • Descriptores de acceso para relaciones de muchos a uno, entre las que se incluyen:

      • Carga diferida de la entidad relacionada.

      • Descriptores de acceso para identificadores de clave externa.

    • Descriptores de acceso de relaciones de varios a varios, que proporcionan carga diferida del conjunto de entidades relacionado.

Clases de contexto de datos

Las clases de contexto de datos generadas por CrmSvcUtil.exe con la extensión de Microsoft.Xrm.Client.CodeGeneration utilizan las interfaces IUpdatable y IExpandProvider Interface de servicios de datos WCF como consecuencia de heredar la clase CrmOrganizationServiceContext. Para obtener más información, consulte la siguiente documentación de .NET: Interfaz IUpdatable e Interfaz IExpandProvider. Estas interfaces incluyen las siguientes características:

  • Proporciona operaciones de lectura, creación, actualización y eliminación para administrar entidades.

  • Proporciona operaciones de ajuste, adición y eliminación de vínculos para administrar las relaciones (1 a N, N a 1 y N a N).

  • Admite DataServiceHostFactory para exponer servicios web y servicios REST.

  • Proporciona un proveedor de consulta LINQ para escritas de manera estática o dinámica.

  • Las consultas dinámicas no requieren la generación de código

  • Identificadores que se almacenan en la caché en segundo plano.

Se genera una clase de un solo contexto para proporcionar descriptores de acceso de grupos de entidades escritos estáticamente. Además, se generan varias subclases para proporcionar funcionalidades de portal más ricas mediante las funciones de interceptor de consultas y cambios de los servicios de datos de WCF.

Ver también

AddObject
DeleteObject
UpdateObject
SaveChanges
Extensiones de desarrollador para Microsoft Dynamics CRM 2015
Modelo de objetos de contexto de extensiones de desarrollador (Dynamics CRM 2015)
Uso de la extensión CrmSvcUtil.exe y parámetros de línea de comandos (Dynamics CRM 2015)
Usar los archivos de clase generados

© 2017 Microsoft. Todos los derechos reservados. Copyright