如何使用OData v4 6.0.0在.NET中进行嵌套的OData调用?

时间:2017-01-11 12:11:33

标签: c# odata odata-v4

假设我的WebApiConfig.cs中有以下内容:

        modelBuilder.EntitySet<Content>("Content");
        modelBuilder.EntitySet<Area>("Area");

我有以下课程:

public class Area
{
    public string Id { get; set; }

    public ICollection<Content> Contents { get; set; }
}

public class Content
{
    public string Id { get; set; }

    [ForeignKey("Area")]
    public int? AreaId { get; set; }
    public virtual Area Area { get; set; }
}

如何创建绑定到以下路由的ODataController操作方法?

GET /odata/Area(Id)/Content(Id)

当我尝试制作自定义路由约定时,我不断获得以下ODataPath:

"~/entityset/key/unresolved"

我正试着这个:

"~/entityset/key/navigation/key"

注意:我使用的是v4 OData的v6.0.0,因此部分路由已从先前版本更改。

1 个答案:

答案 0 :(得分:0)

网址Content中的名称/odata/Area(Id)/Content(Id)需要与类Area上的导航属性的名称相匹配。在问题的课程中,它被称为Contents