首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不包含“GetAwaiter”的定义,并且没有可访问的扩展方法“GetAwaiter”接受类型为“List”的第一个参数

不包含“GetAwaiter”的定义,并且没有可访问的扩展方法“GetAwaiter”接受类型为“List”的第一个参数
EN

Stack Overflow用户
提问于 2020-06-12 10:30:18
回答 2查看 5K关注 0票数 2

我在此方法的返回处遇到了错误does not contain a definition for 'GetAwaiter' and no accessible extension method 'GetAwaiter' accepting a first argument of type 'List。我可以知道我错过了什么吗?

代码语言:javascript
运行
复制
[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;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-12 11:05:30

ToList()不是async,它不返回Task。也许你想使用ToListAsync()

代码语言:javascript
运行
复制
[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);
}
票数 5
EN

Stack Overflow用户

发布于 2020-06-12 10:54:44

您可以尝试异步运行LINQ查询来实现这一点

代码语言:javascript
运行
复制
[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;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62336558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档