如何使用 OData v4 6.0.0 在 .NET 中进行嵌套的 OData 调用?
How can I make a nested OData call in .NET using OData v4 6.0.0?
假设我的 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,所以一些路由与以前的版本有所不同。
URL /odata/Area(Id)/Content(Id)
中的名称 Content
需要与 class Area
中的导航名称 属性 匹配。在你的class问题中,它被称为Contents
假设我的 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,所以一些路由与以前的版本有所不同。
URL /odata/Area(Id)/Content(Id)
中的名称 Content
需要与 class Area
中的导航名称 属性 匹配。在你的class问题中,它被称为Contents