Я добавил два маршрута. Один из них содержит префикс динамического c:
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntityType<UOM>();
var entityType = builder.EntityType<Product>();
builder.EntitySet<Product>("Products");
builder.EntitySet<UOM>("UOMs");
var model = builder.GetEdmModel();
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: model);
config.MapODataServiceRoute(
routeName: "ODataRouteWithContext",
routePrefix: "{context}/",
model: model);
Теперь, когда я отправлю https://localhost: 44326 / , я получу метаданные:
Но когда я пытаюсь что-то наподобие https://localhost: 44326 / xyz , он также возвращает метаданные.
Цель второго маршрута - получить объекты из указанного c контекста. Например, https://localhost: 44326 / ac2db7f3-7581-4e6a-afa0-c4548d6ae89a / Products Таким образом, префикс контекста должен иметь только тип Guid. Но я не хочу показывать метаданные для https://localhost: 44326 / xyz запросов. Так как я могу решить эту проблему?