performance - 如何使用 LINQ 获得前两次出现?

标签 performance linq entity-framework-4

我需要知道满足条件的元素数量,因此我执行以下操作:

int numberOfItems = context.SomeEntity.Count(someCondition);

但由于我只需要检查 numberOfItems 是否且仅当 numberOfItems 恰好为 1,我想改进此查询并通过在前两次出现满足条件时停止计数项目来提高效率(当遇到前两次出现满足条件时)条件,无需继续检查)。执行类似:
bool existsOnlyOne = context.SomeEntity....

如何实现这一目标?

最佳答案

您可以将条件更改为

bool existsOnlyOne = context.SomeEntity.Where(someCondition).Take(2).Count() == 1;

如果您有两个以上的项目,从第三个开始的项目将被 Take(2) 忽略。方法。

关于performance - 如何使用 LINQ 获得前两次出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881929/

相关文章:

javascript - 在需要时创建 JavaScript 函数

android - 具有 1k 对象列表的优化 ListView

c# - 具有多个引用的 Entity Framework LoadProperty

c# - 循环 Entity Framework 对象的表和列

entity-framework-4 - Entity Framework 4 中的一对一错误

r - 在大型 data.table 上使用 grepl 的内存和性能

arrays - 3d 矩阵中 `repmat` 和 `permute` 的更快替代方案?

c# - ? : Operator in LINQ Query

c# - 使用 Linq 删除同一对象中的子项的父项

c# - 如何在linq中获得不同的值(value)