使用C#从CRM 365中的Lookup动态获取价值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用C#从CRM 365中的Lookup动态获取价值相关的知识,希望对你有一定的参考价值。

我有一个实体“new_trialxrmservicetoolkit”,我有查询字段“new_LookupTransactionHeader”,它链接到“new_transactionheader”实体。

怎么解决这个?

我遵循这个tutorial,但没有解决我正在寻找的。

我的代码:

new_trialxrmservicetoolkit t = new new_trialxrmservicetoolkit();

ColumnSet myAttributes = new ColumnSet(new String[] { "new_LookupTransactionHeader" });
Entity myEntityHavingLookup = service.Retrieve("new_transactionheader", t.id, myAttributes);
var myLookupId = ((Microsoft.Xrm.Sdk.EntityReference)(myEntityHavingLookup.Attributes["new_LookupTransactionHeader"])).Id;

throw new InvalidPluginExecutionException(myLookupId.ToString()); // catch this result

这是我测试插件时的结果:enter image description here

答案

此代码是否在为“new_trialxrmservicetoolkit”注册的插件中运行?如果是,则使用以下代码。

var entity = (Entity)context.InputParameters["Target"];
if (entity.LogicalName != "new_trialxrmservicetoolkit")
    return;
var entityId=  entity.Id;
ColumnSet myAttributes = new ColumnSet(new String[] { "new_LookupTransactionHeader" });
Entity myEntityHavingLookup = service.Retrieve("new_trialxrmservicetoolkit", entityId, myAttributes);
var myLookupId = ((Microsoft.Xrm.Sdk.EntityReference)(myEntityHavingLookup.Attributes["new_LookupTransactionHeader"])).Id;
throw new InvalidPluginExecutionException(myLookupId.ToString());

如果插件用于“删除”消息,请更改我的代码的第一行:

var entity = (EntityReference)context.InputParameters["Target"];
另一答案

tnew_trialxrmservicetoolkit类型,你不能使用t.idnew_LookupTransactionHeader类型。

targetentity获取查找ID并使用它来检索其他列。

另一答案

获取查找字段的值

EntityReference entref = (EntityReference)item.Attributes[attributeName];

var LookupId = entref.Id;

var logicalName = entref.LogicalName;

设置查找字段的值

newAccount[attributeName] = new EntityReference(logicalName, LookupId);

设置查找字段的空值

newAccount[attributeName] = Null;

以上是关于使用C#从CRM 365中的Lookup动态获取价值的主要内容,如果未能解决你的问题,请参考以下文章

使用工作流 C# 向 CRM 365 中的所有联系人发送电子邮件生日?

Javascript padStart() 在警报框中正常工作,但在 Dynamics 365 CRM 中的电子邮件记录中不能正常工作

将数据从 Azure DWH 复制到 Azure 中的 Dynamics 365

CRM 动态性能/超时问题

Dynamics 365 CRM - 从SSRS报告中删除外部联接重复项

将 PDF ( > 4 MB) 上传到 D365 CRM 中的文件数据类型