c# - С# LINQ IQueryable Take
问题描述
我试图从大约 7000 个实体中只取 1000 个实体。当 Queryable 转换为列表时,返回的实体超过 1000 个。
IQueryable<MyEntity> query = {some query};
query = query.Take(1000);
var cnt = query.Count(); // 1000
var list = query.ToList(); // 1217
var listId = query.Select(x => x.Id).ToList(); // 1000
这怎么可能?查询很简单,就像_context.MyEntities.Where();
解决方案
推荐阅读
- javascript - 单击时检测SVG文件中的路径是什么
- excel - 如何从 Access VBA 引用 Excel 用户窗体
- php - 从 LOOP 的数组中获取特定值
- codeigniter-2 - 为什么我们必须用大写字母保存 CI 控制器类名的名称
- python - 从列出的字典中排除一组单词?
- java - `spring-boot-maven-plugin`和`maven-compiler-plugin`有什么区别?
- reactjs - 不知道在哪里使用 .map() 所以我可以看到我所有的 json 结果
- swift - Swift 5 中一个简单的字符串处理函数
- elasticsearch - 将本地主机切换到AWS时使用elasticsearch npm包的ConnectionError?
- c++ - 在 C++ 中声明一个“接口”并且不将其 vtable 发送到每个翻译单元