0
odataクエリ(3レベル)のいずれかでネストされた展開を実行しようとしていますが、返される展開されたオブジェクトを取得できません。odataディープレベルの展開が機能しない
public class Project
{
public int ProjectId { get; set; }
public Manager Manager { get; set; }
public IEnumerable<ProjectResource> ProjectResources { get; set; }
}
public class ProjectResource
{
public int ProjectResourceId { get; set; }
public Employee Employee { get; set; }
public Project Project { get; set; }
public IEnumerable<Forecast> Forecasts { get; set; }
}
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public Manager Manager { get; set; }
public IEnumerable<ProjectResource> ProjectResources { get; set; }
}
public class Manager
{
public int ManagerId { get; set; }
public string Name { get; set; }
}
public class Forecast
{
public int ForecastId { get; set; }
public ProjectResource ProjectResource { get; set; }
}
次ODATAクエリが動作し、Projects
とそのManagers
が返されるのリスト:ここで
は私のクラスである
/Projects?$expand=Manager
私は、このクエリを試みたが、それが働きました:
/Forecasts?$expand=ProjectResource($expand=Project)
別のレベルのエキスパンドを追加する:
/Forecasts?$expand=ProjectResource($expand=Project($expand=Manager))
そして、私は2レベルしか拡張できないというエラーが表示されます。だから、私は、クエリにこれを追加し、再試行してください:
[EnableQuery(MaxExpansionDepth=0)]
私はもうエラーを得ることはありませんが、各Project
ためManager
が含まれていません。私が何が欠けているかについてのアイデア?