【发布时间】:2020-04-09 19:31:36
【问题描述】:
我正在处理一个应该能够异步完成的 LINQ 查询,但它没有进行评估。在试图解决这个问题时,我发现了这个页面: MS Page on Client vs Server
它指出我应该能够将 AsAsyncEnumerable 添加到我的 LINQ 以使其工作。但是,它甚至无法编译。
我有以下工作,但正在同步运行:
AreaLookupTb = _context.AreaLookupTb
.AsEnumerable()
.GroupJoin(_context.LocationTb, a => a.AreaId, b => b.AreaId, (a, b) => new GroupingStats { ID = a.AreaId, Name = a.Name, Description = a.Description, Count = b.Count() })
.OrderBy(n => n.Name)
.ToList();
你会认为我需要做的就是让它异步:
AreaLookupTb = await _context.AreaLookupTb
.AsAsyncEnumerable()
.GroupJoin(_context.LocationTb, a => a.AreaId, b => b.AreaId, (a, b) => new GroupingStats { ID = a.AreaId, Name = a.Name, Description = a.Description, Count = b.Count() })
.OrderBy(n => n.Name)
.ToListAsync();
唉,事实并非如此。 VS2019给我的错误是这样的:
错误 CS1061“IAsyncEnumerable”不包含“GroupJoin”的定义,并且找不到接受“IAsyncEnumerable”类型的第一个参数的可访问扩展方法“GroupJoin”(您是否缺少 using 指令或程序集引用?)
任何帮助将不胜感激。
【问题讨论】:
-
这是
ToAsyncEnumerable()而不是AsAsyncEnumerable()。 -
如果有帮助,请将答案标记为已接受,否则请发表评论。
标签: linq asp.net-core ef-core-3.0