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

时间:2019-04-04 07:29:33

标签: c# dynamics-crm crm dynamics-crm-2016

我创建了一个新的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 ,在 QuestionAnswer 中获得了 Value 。我想将这些记录存储在具有名称和值字段的CRM实体中。

3 个答案:

答案 0 :(得分:0)

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

实体customEntity =新实体

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

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

newEntityRecordGuid将具有新创建的记录向导

答案 1 :(得分:0)

我正在C#代码中从Microsoft USD获取数据,然后将其保存在CRM实体中。而且由于以美元为单位,因此该连接是在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 方法针对目标实体类型创建新活动

答案 2 :(得分:0)