【发布时间】:2020-06-02 02:41:14
【问题描述】:
我正在寻找实现IAsyncEnumerable<T> 的空IQueryable<T>。我当前的代码不起作用,因为空的Enumerable 没有实现IAsyncEnumerable<T>。感谢您的任何帮助或提示。
我有以下设计:
var result = Enumerable.Empty<Foo>().AsQueryable(); // Not working!
if (condition1)
{
IQueryable<Foo> part1 = ....;
result = result.Concat(part1);
}
if (condition2)
{
IQueryable<Foo> part2 = ....;
result = result.Concat(part2);
}
return await result.ToListAsync();
错误信息:
The source IQueryable doesn't implement IAsyncEnumerable<Foo>. Only sources that implement IAsyncEnumerable can be used for Entity Framework asynchronous operations.
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.AsAsyncEnumerable[TSource](IQueryable`1 source)
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
【问题讨论】:
-
只是好奇,你为什么需要这个?
-
@MichaelRandall
....我代表来自DbSet的查询。结果是IQueryable<Foo>。我正在尝试加入这两个IQueryable<Foo>并等待ToListAsync()。result需要实现IAsyncEnumerable<Foo>才能让一切顺利进行。我认为 -
或许这篇文章能给你一些想法:stackoverflow.com/questions/59071994/…
-
@AmirPopovich 我明白,但我希望有办法不将起订量带入项目。
-
@AmirPopovich 我添加了我收到的错误消息
标签: c# entity-framework iqueryable