OData,Web Api 2和深层嵌套对象

时间:2014-02-21 03:48:01

标签: c# entity-framework odata asp.net-web-api2

我一直试图找到答案并且没有任何运气。假设我的模型看起来像这样:

public class A
{
    public int Id {get;set}
    public ICollection<B> Bs {get;set;}
}

public class B
{
    public int Id {get;set}
    public ICollection<C> Cs {get;set;}
}

public class C
{
    public int Id {get;set}
    public string Something {get;set;}
}

我可以编写Web Api 2 OData控制器,同时可以这样查询:     /的OData / A(1)/ B(2)/ C(3)/东西

如果这是多余的,请指出我应该看的地方。谢谢!

2 个答案:

答案 0 :(得分:3)

您可以查看{{3>}了解自定义路由约定部分。希望这能解决你的问题。

答案 1 :(得分:0)

添加传统规则以支持深度导航的一种方法,如上所述。在OData V4中,您应该能够使用属性路由来支持您的URL。将Route注释添加到控制器,如下所示:

[ODataRoute( “/ A({键})/ B({键})/ C({键})”)]

请注意官方webapi V4支持将于6月份发布。