OData ASP.NET Core Web API метод Get - передать несколько параметров - PullRequest
0 голосов
/ 12 января 2019

У меня есть функция 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.

Пожалуйста, предложите исправление, так как я уже создал параметры функции и настроил маршрут.

...