我想根据ownerid / Name从odata过滤条件中检索数据。
以下是我从odata收到的json格式数据示例,没有任何过滤条件:
{
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
},
当我使用过滤条件数据调用以下url时,检索:
~/_odata/Appointments?$filter=statecode/Value eq 1
但是当我使用以下过滤条件数据调用url时,不会检索:
~/_odata/Appointments?$filter=ownerid/Name eq 'Diana Lee'
请帮我根据所有者名称检索数据。
答案 0 :(得分:0)
一种方法是扩展所有者关系,并过滤扩展的关系:
~/OrganizationData.svc/AppointmentSet?$expand=user_appointment&$filter=user_appointment/FullName eq 'Diana Lee'
您可以添加一个select子句来缩小投影范围:
~/OrganizationData.svc/AppointmentSet?$select=Subject,OwnerId,user_appointment/FullName&$expand=user_appointment&$filter=user_appointment/FullName eq 'Diana Lee'