Я внедряю OData для личного проекта.На данный момент у меня есть этот код
[HttpPost]
[ODataRoute("Classes", RouteName = "PostClass")]
public IActionResult PostClass([FromBody] Class @class)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
@class.Id = Guid.NewGuid();
_context.Classes.Add(@class);
_context.SaveChangesAsync();
//return CreatedAtAction("GetClass", new { id = @class.Id }, @class);
return Created(@class);
}
Он работает нормально, но я хотел бы, если бы я мог улучшить его с системой Sync Awit, как это:
[HttpPost]
[ODataRoute("Classes", RouteName = "PostClass")]
public async Task<ActionResult<Class>> PostClass([FromBody] Class @class)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
@class.Id = Guid.NewGuid();
_context.Classes.Add(@class);
await _context.SaveChangesAsync();
return CreatedAtAction("GetClass", new { id = @class.Id }, @class);
//return Created(@class);
}
Когда я делаю эту секундурешение построить код, но я получаю 500 Внутренняя ошибка сервера.
С
[HttpPost]
[ODataRoute("Classes", RouteName = "PostClass")]
public async Task<ActionResult<Class>> PostClass([FromBody] Class @class)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
@class.Id = Guid.NewGuid();
_context.Classes.Add(@class);
await _context.SaveChangesAsync();
//return CreatedAtAction("GetClass", new { id = @class.Id }, @class);
return Created(@class);
}
Код не может быть создан, потому что
Код серьезности Описание Подавление строки файла проектаОшибка состояния CS0029 Невозможно неявно преобразовать тип «Microsoft.AspNet.OData.Results.CreatedODataResult» в «Microsoft.AspNetCore.Mvc.ActionResult» Oyg.Api C: \ Users \ Public \ Projects \ oyg-server \ Api \ Controllers \ ClassesController.cs 96 Active
Хорошо, ясно, но тогда какой метод я должен использовать вместо Created ()?