C# ODATA方法设计模式

C# ODATA方法设计模式,c#,asp.net-web-api,odata,asp.net-web-api2,C#,Asp.net Web Api,Odata,Asp.net Web Api2,虽然熟悉WebAPI路由,但我对OData还是新手 我有两个集合用户和团队,他们的控制器由EF6构建。从这两个列表中,我可以返回所有用户或单个用户 USERS http://localhost:50798/odata/members http://localhost:50798/odata/members(1) TEAMS http://localhost:50798/odata/teams http://localhost:50798/odata/teams(1) 我需要返回具有特定成员I

虽然熟悉WebAPI路由,但我对OData还是新手

我有两个集合用户和团队,他们的控制器由EF6构建。从这两个列表中,我可以返回所有用户或单个用户

USERS
http://localhost:50798/odata/members
http://localhost:50798/odata/members(1)

TEAMS
http://localhost:50798/odata/teams
http://localhost:50798/odata/teams(1)
我需要返回具有特定成员ID的团队。通过OData,方法名称被忽略,我本能地想做的是在团队控制器中放置一个方法,比如“GetTeamFromMember”,然后它从users集合加入到teams集合,并返回单个团队


最好的方法是什么?

您可以使用OData添加称为函数的特定方法,但您在这里所做的操作非常适合OData导航属性。可以从实体中导航关系。例如,您在此处尝试执行的操作的URL可能是:

http://localhost:50798/odata/members(1)/team

您可以使用OData添加称为函数的特定方法,但此处所做的操作非常适合OData导航属性。可以从实体中导航关系。例如,您在此处尝试执行的操作的URL可能是:

http://localhost:50798/odata/members(1)/team

以下是设置导航属性的链接:以下是函数的链接:以下是设置导航属性的链接:以下是函数的链接: