这是我第一个使用asp.net MVC的OData应用程序,我无法使其工作。我需要从Summary
返回一个SummaryController
对象,但遇到问题。
路由配置 -
public static IEdmModel CreateEdmModel()
{
ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Summary>("Summary");
return modelBuilder.GetEdmModel();
}
public static void Register(HttpConfiguration config)
{
config.Routes.MapODataRoute("OData", "odata", CreateEdmModel());
config.EnableQuerySupport();
config.EnableSystemDiagnosticsTracing();
}
控制器和动作方法 -
public class SummaryController : ODataController
{
public Summary Get()
{
//....
return someObj;
}
}
不起作用的路线 -
/odata/Summary
任何人都可以帮助我了解如何使路由工作?
答案 0 :(得分:0)
在模型中,您将Summary设置为EntitySet,这将返回Summary对象的集合。如果您希望该URL始终返回一个对象,那么您需要一个Singleton。
CreateEdmModel方法应如下所示:
public static IEdmModel CreateEdmModel()
{
ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.Singleton<Summary>("Summary");
return modelBuilder.GetEdmModel();
}