我使用System.Linq.Async
,我尝试这样做,但我得到错误。
await _dbContext.Application
.AsAsyncEnumerable()
.Join(_dbContext.Users,
o => o.IdUser,
i => i.Id,
(o, i) => new { Id = o.Id })
.ToListAsync();
如何创建JoinAwait
正确的查询?
您不能在同一上下文中并行运行多个查询。
通常没有理由从关系数据库加载完整的Application
和User
表到内存中,然后将它们连接到那里,而不是允许db引擎做它设计的目的。删除AsAsyncEnumerable
,只需对数据库运行简单的查询:
await _dbContext.Application
.Join(_dbContext.Users,
o => o.IdUser,
i => i.Id,
(o, i) => new { Id = o.Id })
.ToListAsync();
或者更好,如果Application
和User
之间存在关系,并且可以设置它-为您的实体添加相应的导航属性并使用这些属性执行连接。