none
关于在CRM中批量创建实体 RRS feed

答案

  • 使用Create Message时候你要通过execute,mscrm sdk 封装了几个通用的方法可以方便的调用,比如create就是其中一个.

    使用Create Message时候,创建CreateRequest实例后,你需要给Target属性赋值,系统实体都有一个对应Target类,自定义实体就统一为
    TargetCreateX 比如你创建了实体new_gift 那么就是TargetCreatenew_gift
    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    • 已标记为答案 crm2011w 2009年3月30日 7:11
    2009年3月27日 4:56
    版主

全部回复

  • 你可以使用MetadataService Web Service,创建实体为 CreateEntity Message

    MetadataService metadataService = new MetadataService();
    metadataService.Url = "http://<servername>:<port>/MSCRMServices/2007/MetadataService.asmx";
    metadataService.CrmAuthenticationTokenValue = token;
    metadataService.Credentials = System.Net.CredentialCache.DefaultCredentials;
    metadataService.PreAuthenticate = true;

    // Create the entity.
    EntityMetadata timesheetEntity = new EntityMetadata();
    timesheetEntity.SchemaName = "new_timesheet";
    timesheetEntity.OwnershipType = new CrmOwnershipTypes();
    timesheetEntity.OwnershipType.Value = OwnershipTypes.UserOwned;
    timesheetEntity.DisplayName = Microsoft.Crm.Sdk.Utility.CrmServiceUtility.CreateSingleLabel("Timesheet", 1033);
    timesheetEntity.DisplayCollectionName = Microsoft.Crm.Sdk.Utility.CrmServiceUtility.CreateSingleLabel("Timesheets", 1033);
    timesheetEntity.Description = Microsoft.Crm.Sdk.Utility.CrmServiceUtility.CreateSingleLabel("Employee Timesheet", 1033);

    // Create the primary attribute.
    StringAttributeMetadata primaryAttribute = new StringAttributeMetadata();
    primaryAttribute.SchemaName = "new_name";
    primaryAttribute.RequiredLevel = new CrmAttributeRequiredLevel();
    primaryAttribute.RequiredLevel.Value = AttributeRequiredLevel.None;
    primaryAttribute.MaxLength = new MetadataServiceSdk.CrmNumber();
    primaryAttribute.MaxLength.Value = 100;
    primaryAttribute.DisplayName = Microsoft.Crm.Sdk.Utility.CrmServiceUtility.CreateSingleLabel("Name", 1033);
    primaryAttribute.Description = Microsoft.Crm.Sdk.Utility.CrmServiceUtility.CreateSingleLabel("Employee Name", 1033);

    // Create the entity request.
    CreateEntityRequest createEntity = new CreateEntityRequest();
    createEntity.Entity = timesheetEntity;
    createEntity.HasActivities = false;
    createEntity.HasNotes = true;
    createEntity.PrimaryAttribute = primaryAttribute;

    // Execute the request.
    CreateEntityResponse entityResponse = (CreateEntityResponse )metadataService.Execute(createEntity);
      
    // Publish the new custom entity.
    // Note that the custom entities cannot be used until they have been published.
    PublishAllXmlRequest publishAllRequest = new PublishAllXmlRequest();
    PublishAllXmlResponse publishAllResponse = (PublishAllXmlResponse)metadataService.Execute(publishAllRequest);


    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    2009年3月26日 15:12
    版主
  • 对不起,我是想问批量生某个实体的记录信息,因为我现在要向CRM中一个题库实体批量写入题目信息有没有比create好的方法

    2009年3月27日 1:54
  •  为什么不用Create Message?

    另外一个可以通过导入csv文件方式来创建
    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    2009年3月27日 4:06
    版主
  • Create Message 的TargetCreateX where X is the name of the custom entity,与create 有什么区别
    2009年3月27日 4:43
  • 使用Create Message时候你要通过execute,mscrm sdk 封装了几个通用的方法可以方便的调用,比如create就是其中一个.

    使用Create Message时候,创建CreateRequest实例后,你需要给Target属性赋值,系统实体都有一个对应Target类,自定义实体就统一为
    TargetCreateX 比如你创建了实体new_gift 那么就是TargetCreatenew_gift
    Batistuta Cai 如果您觉得对您有帮助,请点击“帖子内容有帮助”;如果你觉得回复很满意,请点击“标记为答复”
    • 已标记为答案 crm2011w 2009年3月30日 7:11
    2009年3月27日 4:56
    版主