C# EntityFramework ToListSync()不起作用

C# EntityFramework ToListSync()不起作用,c#,.net,async-await,entity-framework-6,C#,.net,Async Await,Entity Framework 6,我尝试调用EF方法ToListAsync。但是什么也没发生——没有异常,没有超时,只是在运行 这是我的密码 private IQueryable<Place> placeCompleteQuery; protected IQueryable<Place> PlaceCompleteQuery { get { return this.placeCompleteQuery ?? (this

我尝试调用EF方法ToListAsync。但是什么也没发生——没有异常,没有超时,只是在运行

这是我的密码

        private IQueryable<Place> placeCompleteQuery;
    protected IQueryable<Place> PlaceCompleteQuery
    {
        get
        {
            return this.placeCompleteQuery ?? (this.placeCompleteQuery = this.Context.Places.Include(p => p.Address).
                Include(p => p.CreatedBy).
                Include(p => p.Source).
                Include(p => p.Type.Translations).
                Include(p => p.Ratings));
        }
    }

    public async Task<IList<Place>> GetPlacesByLocationAsync(DbGeography location, int radius)
    {
        List<Place> temporaryResult = PlaceCompleteQuery.Where(p => p.Location.Distance(location) <= radius).
            ToList();

        return await PlaceCompleteQuery.Where(p => p.Location.Distance(location) <= radius).
            ToListAsync();
    }
private IQueryable placeCompleteQuery;
受保护的IQueryable PlaceCompleteQuery
{
得到
{
返回this.placeCompleteQuery??(this.placeCompleteQuery=this.Context.Places.Include(p=>p.Address)。
包括(p=>p.CreatedBy)。
包括(p=>p.Source)。
包括(p=>p.Type.Translations)。
包括(p=>p.Ratings));
}
}
公共异步任务GetPlacesByLocationAsync(数据库地理位置,整数半径)
{

List temporaryResult=PlaceCompleteQuery.Where(p=>p.Location.Distance(Location)p.Location.Distance(Location)我怀疑在调用堆栈的后面,您的代码正在调用
Task.Wait
Task.Result
。如果您在UI线程或ASP.NET请求上下文中执行此操作,正如我在博客中解释的那样


若要修复它,请使用
Wait
而不是
Task.Wait
Task.Result

您是对的。我没有将控制器方法标记为async。感谢您的帮助。