您可以声明 2 个同名的 OData 资源 EntitySets 吗?
Can you declare 2 OData resource EntitySets with the same name?
如何声明两个名称相同但在不同区域下路由的 OData EntitySet?这可能吗?
例如:
public static void Register(HttpConfiguration config)
{
var builder = new ODataConventionModelBuilder();
builder.EntitySet<Costco.Models.Food>("Foods");
builder.EntitySet<Ikea.Models.Food>("Foods"); // this causes an exception
config.Routes.MapODataServiceRoute("MyRoute", "{area}", builder.GetEdmModel());
}
处理不同的请求,例如:
同一 EDM 模型中不能有 2 个同名的不同实体。您必须创建两个不同的 EDM 模型和路线,如下所示 -
var costcoBuilder = new ODataConventionModelBuilder();
costcoBuilder.EntitySet<Costco.Models.Food>("Foods");
var ikeaBuilder = new ODataConventionModelBuilder();
ikeaBuilder.EntitySet<Ikea.Models.Food>("Foods");
config.Routes.MapODataServiceRoute("CostcoRoute", "Costco", costcoBuilder.GetEdmModel());
config.Routes.MapODataServiceRoute("IkeaRoute", "Ikea", ikeaBuilder.GetEdmModel());
如何声明两个名称相同但在不同区域下路由的 OData EntitySet?这可能吗?
例如:
public static void Register(HttpConfiguration config)
{
var builder = new ODataConventionModelBuilder();
builder.EntitySet<Costco.Models.Food>("Foods");
builder.EntitySet<Ikea.Models.Food>("Foods"); // this causes an exception
config.Routes.MapODataServiceRoute("MyRoute", "{area}", builder.GetEdmModel());
}
处理不同的请求,例如:
同一 EDM 模型中不能有 2 个同名的不同实体。您必须创建两个不同的 EDM 模型和路线,如下所示 -
var costcoBuilder = new ODataConventionModelBuilder();
costcoBuilder.EntitySet<Costco.Models.Food>("Foods");
var ikeaBuilder = new ODataConventionModelBuilder();
ikeaBuilder.EntitySet<Ikea.Models.Food>("Foods");
config.Routes.MapODataServiceRoute("CostcoRoute", "Costco", costcoBuilder.GetEdmModel());
config.Routes.MapODataServiceRoute("IkeaRoute", "Ikea", ikeaBuilder.GetEdmModel());