2017-05-23 1 views
1

Je souhaite récupérer les données de la condition de filtre Odata en fonction de ownerid/Name.Dynamics 365 Filtre d'alimentation Odata Condition sur l'erreur de résultat de la propriété imbriquée

Voici l'exemple de mes données au format JSON que je reçus de OData sans condition de filtre:

{ 
activityid: "20a82acf-093e-e711-8101-5065f38b85e1", 
regardingobjectid: null, 
prioritycode: { 
Name: "Normal", 
Value: 1 
}, 
scheduledstart: "2017-05-21T10:00:00Z", 
scheduledend: "2017-05-21T10:00:00Z", 
location: null, 
statecode: { 
Name: "Completed", 
Value: 1 
}, 
ownerid: { 
Id: "064f5f55-e930-e711-80fe-5065f38aba91", 
Name: "Diana Lee" 
}, 
list-id: "f9a57b07-ee3f-e711-8100-5065f38b0571", 
view-id: "bc829d10-a49d-409d-9a61-918fedadbad9", 
entity-permissions-enabled: null 
}, 

Quand j'ai appelé l'adresse suivante avec les données de l'état du filtre récupère:

~/_odata/Appointments?$filter=statecode/Value eq 1 

mais quand j'ai appelé l'URL avec les données de condition de filtre suivantes ne sont pas récupérer:

~/_odata/Appointments?$filter=ownerid/Name eq 'Diana Lee' 

S'il vous plaît aidez-moi à récupérer les données basées sur le nom du propriétaire.

Répondre

0

Une façon qui fonctionne est d'élargir la relation du propriétaire, et filtrer sur la relation élargie:

~/OrganizationData.svc/AppointmentSet?$expand=user_appointment&$filter=user_appointment/FullName eq 'Diana Lee' 

Et vous pouvez ajouter une clause select pour réduire la projection:

~/OrganizationData.svc/AppointmentSet?$select=Subject,OwnerId,user_appointment/FullName&$expand=user_appointment&$filter=user_appointment/FullName eq 'Diana Lee'