我使用從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