我在此方法的返回处遇到了错误does not contain a definition for 'GetAwaiter' and no accessible extension method 'GetAwaiter' accepting a first argument of type 'List
。我可以知道我错过了什么吗?
[HttpGet]
public async Task<ActionResult<IEnumerable<MovieDto>>> GetMovies()
{
var movies = (from m in _context.Movies
select new MovieDto()
{
MovieTitle = m.MovieTitle,
ReleaseDate = m.ReleaseDate,
MovieStatus = m.MovieStatus,
PhotoFile = m.PhotoFile
}).ToList();
return await movies;
}
发布于 2020-06-12 11:05:30
ToList()
不是async
,它不返回Task
。也许你想使用ToListAsync()
[HttpGet]
public async Task<ActionResult<IEnumerable<MovieDto>>> GetMovies()
{
var movies = (from m in _context.Movies
select new MovieDto()
{
MovieTitle = m.MovieTitle,
ReleaseDate = m.ReleaseDate,
MovieStatus = m.MovieStatus,
PhotoFile = m.PhotoFile
}).ToListAsync();
return Ok(await movies);
}
发布于 2020-06-12 10:54:44
您可以尝试异步运行LINQ查询来实现这一点
[HttpGet]
public async Task<List<MovieDto>> GetMovies () {
var moviesTask =
Task.Factory.StartNew (() => {
return (from m in _context.Movies
select new MovieDto () {
MovieTitle = m.MovieTitle,
ReleaseDate = m.ReleaseDate,
MovieStatus = m.MovieStatus,
PhotoFile = m.PhotoFile
}).ToList ();
});
var movies = await moviesTask;
return movies;
}
https://stackoverflow.com/questions/62336558
复制相似问题