1

假设我的 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,因此某些路由与以前的版本有所不同。

4

1 回答 1

0

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

于 2017-01-11T14:58:25.673 回答