CRM v9 - 通过 C# 代码在 CRM 实体中保存数据

CRM v9 - Saving data in CRM entity through C# code

我创建了一个包含 2 个字段 NameValue 的新 CRM 实体。 在我的 C# 代码中,我从 Microsoft Unified Service Desk 获取相同的两个值及其名称。现在我的 C# 代码中有这些记录,现在我想将它们保存在 CRM 实体中。 我现在使用下面的代码来获取值,

 string QuestionAnswer = string.Empty;

        if (dialog.QuestionControlValidate)
        {
            if (ContextParameterName != string.Empty)
            {
                var ctx = Context.GetContext();

                if (dialog.QuestionControlType == "TextBox")
                    QuestionAnswer = dialog.QuestionControlTextQuestionAnswer.ToString();
                else if (dialog.QuestionControlType == "RadioButton")
                    QuestionAnswer = dialog.QuestionControlRadioButtonSelectionAnswer.ToString();

                var updatedContext = new Context(ctx)
                {
                    [ContextParameterName] = QuestionAnswer
                };

// Code to be added here
            }

我在 ContextParameterName 中获取 Name 并且在 中获取 Value问题答案。我想将这些记录存储在具有名称和值字段的 CRM 实体中。

您在 CRM 中创建记录的代码如下所示

实体 customEntity = 新实体

 Entity abc = new Entity()
                {
                    LogicalName = "new_EntityName",
                    ["fieldName"] = ContextParameterName,
                    ["fieldValue"] = QuestionAnswer

                };
                Guid newEntityRecordGuid = CrmConn.Create(abc);

newEntityRecordGuid 将有新创建的 Record Guid

我在 C# 代码中从 Microsoft USD 获取数据,然后想将其保存在 CRM 实体中。由于在 USD 中,连接是通过 CRM 环境自动创建的,因此我在没有明确定义连接的情况下实现了它。

                dictionary.Add("name", new CrmDataTypeWrapper(ContextParameterName, CrmFieldType.Raw));
                dictionary.Add("value", new CrmDataTypeWrapper(QuestionAnswer, CrmFieldType.Raw));
                dictionary.Add("id", new CrmDataTypeWrapper(updatedContext["Id"], CrmFieldType.Raw));

                Guid EvntId = _client.CrmInterface.CreateNewRecord("historicaldata",dictionary,"",false,new System.Guid());

CreateNewRecord 方法根据目标实体类型

创建一个新的 activity

您可以使用全局管理器托管控件并使用 CreateEntity 操作。检查这个 link https://docs.microsoft.com/en-us/dynamics365/customer-engagement/unified-service-desk/global-manager-hosted-control?view=dynamics-usd-4.1