Asp.net web api 从ASP.NET Core 2.0控制器返回大量数据

Asp.net web api 从ASP.NET Core 2.0控制器返回大量数据,asp.net-web-api,asp.net-core,Asp.net Web Api,Asp.net Core,我有一个ASP.NETCore2.0WebAPI,它将数据从数据库返回到JS前端。对于最多返回100条记录的查询,我使用以下模式: [HttpGet] public IQueryable<DataSource> Get() { return db.DataSources; } [HttpGet] 公共IQueryable Get() { 返回db.DataSources; } 现在我有了另一种API,它应该返回多个数据源的数据,即3个数据源和3000条记录。我想知道实现返

我有一个ASP.NETCore2.0WebAPI,它将数据从数据库返回到JS前端。对于最多返回100条记录的查询,我使用以下模式:

[HttpGet]
public IQueryable<DataSource> Get()
{
    return db.DataSources;
}
[HttpGet]
公共IQueryable Get()
{
返回db.DataSources;
}
现在我有了另一种API,它应该返回多个数据源的数据,即3个数据源和3000条记录。我想知道实现返回那么多数据的控制器方法的推荐方法是什么。我应该将查询拆分为3个单独的查询吗?或者我应该归还一本IQueryable词典?IQueryable是否仍然是此处的建议返回值?我还想知道async/await在这里是否有用,但据我所知,IQueryable已经允许异步操作

如果有任何重要意义:
JS客户端将在图形中显示数据。因此,它将始终等待整个数据集被传输

一定要把它分开。大型下载更容易受到意外中断的影响。如果在较小的段中执行此操作,则只重试失败的段会更容易。最好对大量数据执行分页。看看这个例子。