【发布时间】:2015-01-20 06:44:25
【问题描述】:
是否可以在一个 Web API 服务中托管两个不同的 OData 模型? 如果是这样,我该如何实现?
例如: 两个模型,如,
var model1 = new ODataConventionModelBuilder();
builder.EntitySet<Car>("Car");
var model2 = new ODataConventionModelBuilder();
builder.EntitySet<Animal>("Animal");
希望通过某种路由可以实现。
Car 和 Animal 的控制器
public class AnimalController:ODataController{
//Implementation stuff
}
public class AnimalController:ODataController{
//Implementation stuff
}
和模型构建器
public class ModelBuilder{
public static IEdmModel GetModal1(){
var model1 = new ODataConventionModelBuilder();
builder.EntitySet<Car>("Car");
return model1.GetEdmModel();
}
public static IEdmModel GetModal2(){
var model2 = new ODataConventionModelBuilder();
builder.EntitySet<Animal>("Animal");
return model2.GetEdmModel();
}
}
Modal1 的路由
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapODataRoute(
routeName: "OData",
routePrefix: null,
model: ModelBuilder.GetModal1());
}
}
所以问题又是我如何添加 modal2
【问题讨论】:
标签: c# odata asp.net-web-api2