DataServiceQuery扩展相关扩展

时间:2014-05-09 16:44:37

标签: c# wcf-data-services

假设Company有多个Employee,而每个AttendanceRecord都有多个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

因为{{1}}方法在Employees上不可用。

如何在一次查询中恢复公司,员工和出勤记录?

1 个答案:

答案 0 :(得分:0)

你可能想试试这个:

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