出现以下错误: 源“IQueryable”未实现“IAsyncEnumerable”。只有实现“IAsyncEnumerable”的源才能用于实体框架异步操作。” 被调用的函数需要返回一个 IQueryable。 我的代码(简化): IQueryable search; xxxService myService=new xxxService(_database, cancellationToken); MakesDto resp=await myService.GetMakes(); search=resp.make.AsQueryable() .Select((e) => new StockDto { Make = e.value }).Distinct(); 我不认为 Dto 定义在这里过于相关,但我很乐意提供您认为重要的任何其他内容。从这里到哪里有什么想法吗?

一旦你给了我们这样一个不完整的样本,问题是,你不知道它是否表现出你正在询问的相同问题。因为您和其他任何人都没有尝试编译或执行此代码。这就是为什么我们通常要求一个最小的可重现示例

IQueryable您只能将异步方法应用于DbContext. 将异步方法应用于IQueryablemade fromIEnumerable绝对没有意义,也不会起作用。

@SvyatoslavDanyliv 明白了。有一些业务逻辑试图从 dbcontext 或外部服务中提取数据。我希望我能以与以前相同的格式返回 IQueryable,听起来我可能需要重新处理整个事情。