我有一个基于连接到SQL Server 2017
的EF CORE 3.1
构建的.NetCore 3.1
web应用程序。当我直接通过SSMS对数据库运行某个查询时,它会返回大约63万条记录,这是正确的。然而,当通过通过web应用程序运行相同的查询时
return await _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();
它只返回50479条记录。这个最大数量对于所有用例都是固定的。(即,当我从直接查询到DB中有大约61000条记录时,EF Core仍然返回50479条记录。(当然,如果查询返回的数量低于50479,我会得到正确的记录数量。
EF Core查询返回的数据行数是否有限制?(或者数据大小的限制?(如果是,我如何禁用/更改它
刚刚找到根本原因!列表上的默认容量保存的输出
return _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();
我修改了我的代码为:
List<MyRecordType> retList = new List<MyRecordType>(2000000);
retList = await _MyDBContext.myDBSet.FromSqlRaw(query).ToListAsync();
return retList;
它解决了这个问题!