Я использую CRM SDK от PowerShell, пытаясь запросить контракт, связанный с конкретным именем учетной записи. Если я делаю запрос против GUID учетной записи, я получаю результаты, но я хочу запросить имя внутри объекта EntityReference, а не GUID, например (это работает отлично):DynamicsCRM QueryExpression Criteria внутри 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
Name LIKE CustomerNameText
Я пробовал:
$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 'поле, которое я ищу, является именем объекта' account', я хочу найти контракты, имена которых являются «somename» – Avshalom