EF CORE 3.1 查询返回的数据大小是否有限制?

Is there a limit on the size of the data returned from EF CORE 3.1 queries?

我有一个建立在 EF CORE 3.1 上的 .NetCore 3.1 Web 应用程序连接到 SQL Server 2017。 当我 运行 直接通过 SSMS 对数据库进行某个查询时,它 returns ~630000 条记录是正确的。 但是,当相同的查询通过 运行 通过 Web 应用程序通过

return await _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();

它只有 returns 50479 条记录。此最大数量对于所有用例都是固定的。 (即,当我从对数据库的直接查询中获得约 61000 条记录时,EF Core 仍然 returns 50479 条记录。)当然,如果查询预计 return 小于 50479,我获取正确的记录数。

从 EF Core 查询中 return 的数据行数是否有限制? (或者对数据大小的限制?)如果是,我怎么能disable/change呢?

刚刚找到根本原因!这是 List 上的默认容量,用于保存

的输出
 return _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();

我将我的代码修改为:

List<MyRecordType> retList = new List<MyRecordType>(2000000);
retList = await _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();
return retList;

它解决了问题!