【问题标题】:What's TargetCreateDynamic in crm 2011crm 2011 中的 TargetCreateDynamic 是什么
【发布时间】:2013-01-11 13:41:12
【问题描述】:

我必须将 CRM 4 插件转换为 CRM 2011 插件。 在我的代码中有一个名为

的特定类

目标创建动态。

create = new TargetCreateDynamic();
                    create.Entity = counter;
                    cRequest = new CreateRequest();
                    cRequest.Target = create;
                    cResponse = (CreateResponse)_cs.Execute(cRequest); 

有人知道 2011 年应该是哪个班级吗?

【问题讨论】:

  • 在问题中添加了 C# 标签以使代码突出显示:)
  • 除了@SergeyS 的回答:由于每个类都有基类Entity,因此不再需要区分系统实体和自定义实体。所以你可以简单地使用 CreateRequest

标签: c# dynamics-crm-2011 dynamics-crm crm dynamics-crm-4


【解决方案1】:

对于CreateRequest,只使用Microsoft.Xrm.Sdk.Entity 类。下面的示例代码将使您了解如何在 CRM 2011 中创建一个普通的 CreateRequest

    internal Guid CreateEntity(IServiceProvider serviceProvider)
    {
        IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService organizationService = serviceFactory.CreateOrganizationService(null);

        CreateRequest createRequest = new CreateRequest();
        Entity entityToCreate = new Entity("Some_Entity_LogicalName");
        createRequest.Target = entityToCreate;
        CreateResponse response = (CreateResponse)organizationService.Execute(createRequest);

        return response.id;
    }

但如果我想为插件中的某些实体创建新记录 - 我使用以下更短的代码:

    internal Guid CreateEntity(IServiceProvider serviceProvider)
    {
        IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService organizationService = serviceFactory.CreateOrganizationService(null);

        Entity entityToCreate = new Entity("Some_Entity_LogicalName");
        return organizationService.Create(entityToCreate);
    }

请注意,这只是一个示例代码,您不需要在每次保存/更新/删除某些实体时创建 OrganizationService。您可以为您的插件创建一次组织服务,将其存储在一些“全局”变量中,而不仅仅是在任何地方使用它

【讨论】:

  • +1,尽管您实际上不应该将组织服务存储在全局变量中。 msdn.microsoft.com/en-us/library/gg328263.aspx "...您不应使用全局变量或尝试将任何数据存储在成员变量中以供下次插件调用时使用..."
  • @James Wood - 是的,我的意思是如果您在一个插件运行期间需要多个操作,您可以存储它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多