CRM v9 - 通过 C# 代码在 CRM 实体中保存数据
CRM v9 - Saving data in CRM entity through C# code
我创建了一个包含 2 个字段 Name 和 Value 的新 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
我创建了一个包含 2 个字段 Name 和 Value 的新 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