无法将类型 'System.Collections.Generic.List<>' 隐式转换为'Microsoft.AspNetCore.Mvc.ActionResult<&g



我的ASP.net Core 6 API web应用程序中似乎无法克服这个错误。

我的httpget()

// GET: api/Shippingschedules/shipname
[HttpGet("{shipname}")]
public async Task<ActionResult<Shippingschedule>> GetShippingSchedulesByShip(string shipname)
{
ActionResult<Shippingschedule> Shippingschedule = await _context.Shippingschedules.Where(
x => x.Text.Contains(shipname)).ToListAsync(); //.FirstOrDefaultAsync();
if (Shippingschedule == null)
{
return NotFound();
}
return Shippingschedule;
}

但如果将ToListAsync()替换为FirstOrDefaultAsync(),则它会编译。为什么?

我正在努力把它找到的所有唱片都带回来,而不仅仅是第一张。我做错了什么?

感谢

FirstOrDefaultAsync()之所以有效,是因为它只返回一条记录,而ToListAsync()则返回该记录的集合。

ActionResult<Shippingschedule>更改为IEnumerable<ShippingSchedule>.ToListAsync()应该可以工作。此外,将api的返回类型从Task<ActionResult<Shippingschedule>>更改为Task<ActionResult<IEnumerable<Shippingschedule>>>

[HttpGet("{shipname}")]
public async Task<ActionResult<IEnumerable<Shippingschedule>>> GetShippingSchedulesByShip(string shipname)
{
IEnumerable<ShippingSchedule> Shippingschedule = await _context.Shippingschedules.Where(
x => x.Text.Contains(shipname)).ToListAsync(); //.FirstOrDefaultAsync();
if (Shippingschedule == null)
{
return NotFound();
}
return Shippingschedule;
}

相关内容

最新更新