DataServiceQuery正在展开相关展开

本文关键字:DataServiceQuery | 更新日期: 2023-09-27 18:02:32

假设一个Company有多个Employee,而每个CCD_2又有多个CCD。

使用DataServiceQuery,我可以包括所有公司的所有员工:

 dataContext.Companies.Expand(c => c.Employees);

但是,如果我也想包括所有员工的考勤记录,该怎么办?

我不能这样做:

dataContext.Companies.Expand(c => c.Employees).Expand(ce => ce.AttendanceRecords);

因为在第二个Expand中,我仍然只有公司财产可供我使用(因此ce仍然指公司,而不是"公司雇员"。

同样,我不能这样做:

dataContext.Companies.Expand(c => c.Employees.Expand(e => e.AttendanceRecords));

因为Expand方法在Employees上不可用。

如何在一个查询中返回公司、员工和考勤记录?

DataServiceQuery正在展开相关展开

你可能想试试这个:

var companies = dataContext.Execute<Company>(new Uri("http://service/Companies?$expand=Employees($expand=AttendanceRecords)")).ToList();