У меня есть функция OData 4 для ASP.NET Core Web API, в которой я передаю два параметра и настраиваю маршрут, как показано ниже.
[HttpGet]
[EnableQuery]
[ODataRoute("AApp({id},{name})")]
public IActionResult Get([FromODataUri]int id, [FromODataUri]string name)
{
return Ok(context.AApp.AsQueryable().FirstOrDefault(x => x.AppId == id &&
x.App == name));
}
Я создал функцию построителя и передал в нее два параметра, как показано ниже: -
var AAppByIdName = builder.Function("AApp");
AAppByIdName.Parameter<int>("id");
AAppByIdName.Parameter<string>("name");
AAppByIdName.ReturnsCollectionFromEntitySet<AApp>("AApp");
Теперь, когда я запускаю проект, я получаю сообщение об ошибке:
Шаблон пути AApp({id},{name})
в действии Get
в контроллере MyAppController
не является допустимым шаблоном пути OData. Количество ключей, указанное в URI, не соответствует количеству свойств ключа для ресурса MyNamespace.AspNetCore.Models.AApp
.
Пожалуйста, предложите исправление, так как я уже создал параметры функции и настроил маршрут.