使用代码生成工具扩展生成代码 (Dynamics CRM 2015)

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 2015 更新 开发人员扩展为 CrmSvcUtil.exe 代码生成工具提供一个扩展库,该工具用于为所有 Microsoft Dynamics 365 实体生成数据上下文类和数据传输对象 (DTO)。 该机制遵循 SqlMetal 在实体框架中实现的同一设计模式。 数据上下文类负责所有数据操作,并为 Microsoft Dynamics 365 中的所有实体提供 IQueryable 接口。 可以通过对 IQueryable 实体集属性执行 LINQ 查询来检索数据。 可以通过使用 AddObjectDeleteObjectUpdateObjectSaveChanges 方法更改数据。

CrmSvcUtil.exe 代码生成工具的 Microsoft.Xrm.Client.CodeGeneration 扩展提供以下功能:

  • 生成静态类型的实体类。

  • 生成多对多关系类。

  • 基于 Microsoft Dynamics 365 架构名称生成类名称和属性名称。

  • 生成用于管理实体并且与 WCF 数据服务 (Astoria/OData) 兼容的数据上下文类。

本主题内容

实体类

数据上下文类

实体类

代码生成工具生成的实体类提供以下功能:

  • 支持 WCF 数据服务 (Astoria/OData) 批注属性。

  • 强类型实体属性取值函数,它们提供以下内容:

    • Microsoft Dynamics 365 数据类型到标准 CLR 数据类型的映射。

    • 多对一关系取值函数,其中包括:

      • 相关实体的延迟加载。

      • 外键 ID 的取值函数。

    • 多对多关系取值函数,它们提供相关实体集的延迟加载。

数据上下文类

作为继承 CrmOrganizationServiceContext 类的结果,CrmSvcUtil.exe 与 Microsoft.Xrm.Client.CodeGeneration 扩展结合生成的数据上下文类使用 WCF 数据服务 IUpdatableIExpandProvider Interface 接口。 有关详细信息,请参阅以下 .NET 文档:IUpdatable 接口IExpandProvider 接口。 这些接口包括以下功能:

  • 提供用于管理实体的读取、创建、更新和删除操作。

  • 提供用于管理关系(一对多、多对一和多对多)的 set-link、add-link 和 remove-link 操作。

  • 支持 DataServiceHostFactory 以公开 Web 服务和 REST 服务。

  • 为静态和动态类型的查询提供 LINQ 查询提供程序。

  • 动态查询不需要生成代码

  • 在后台处理缓存。

生成单个上下文类以提供静态类型的实体集取值函数。 此外,还会生成多个子类,以使用 WCF 数据服务的查询和更改侦听器功能提供更丰富的门户功能。

另请参阅

AddObject
DeleteObject
UpdateObject
SaveChanges
Microsoft Dynamics CRM 2015 开发人员扩展
开发人员扩展上下文对象模型 (Dynamics CRM 2015)
CrmSvcUtil.exe 扩展的用法和命令行参数 (Dynamics CRM 2015)
使用生成的类文件

© 2017 Microsoft。 保留所有权利。 版权