我使用从PowerShell的CRM SDK,试图查询链接到特定的帐户名称的合同,如果我对帐户GUID查询我得到的结果,但我想查询对命名的EntityReference对象的内部,而不是GUID,例如(这工作正常):DynamicsCRM QueryExpression标准内EntityReference
$query = new-object Microsoft.Xrm.Sdk.Query.QueryExpression('new_contract')
$query.Criteria.AddCondition('new_account', [Microsoft.Xrm.Sdk.Query.ConditionOperator]::Equal, $AccountGuid)
上述结果看起来像这样:
Key Value
--- -----
createdby Microsoft.Xrm.Sdk.EntityReference
createdon 21/10/2014
modifiedby Microsoft.Xrm.Sdk.EntityReference
modifiedon 28/02/2016
modifiedonbehalfby Microsoft.Xrm.Sdk.EntityReference
new_account Microsoft.Xrm.Sdk.EntityReference
[...] [...]
的new_account
属性是:
Id : dab2909d-6149-e411-93fc-005056af5481
LogicalName : account
Name : CustomerNameText
KeyAttributes : {}
RowVersion :
ExtensionData : System.Runtime.Serialization.ExtensionDataObject
我想创建new_contract
查询与new_account
名称LIKE
我想:
$query.Criteria.AddCondition('new_account',([Microsoft.Xrm.Sdk.EntityReference].Attributes['new_account']).Name, [Microsoft.Xrm.Sdk.Query.ConditionOperator]::Like, $AccountName)
但它不工作得到以下错误:
Exception calling "RetrieveMultiple" with "1" argument(s): "Link entity with name or alias new_account is not found"
At line:2 char:5
+ $temp = $service.RetrieveMultiple($query);
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : FaultException`1
希望我很清楚,但如果没有,请回答任何问题。
PowerShell代码是最好,C#是确定以及
谢谢...
谢谢,你能否更新你的答案以符合我的标准,例如new_contract - > new_account的名字,所以它会更容易理解你的答案,并将它翻译回powershell – Avshalom
@Avshalom是的,我可以但你必须提供给我关于用于关系的细节。我也认为“new_contract”和“new_account”是你的自定义字段。 将关系细节添加到您的问题 –
'new_contract'是合同实体,'new_account'是'account'实体的自定义名称,它有一个关系(但我不确定名称)'name '我正在查找的字段是'帐户'实体的名称,我想查找帐户名称为“somename”的合同 – Avshalom