c# - IQueryable查询数据数

标签 c# count iqueryable

当我对 IQueryable 应用查询时,我试图获取项目的计数。

我正在尝试这样做:

this.lblSth.Text = new Repository<Sth>().GetAll().Where(p => p.PersonId == personId).ToList().Count().ToString();

我认为这会获取条件下的所有数据并获取对象,然后获取计数;所以我很好奇,例如我是否只需要 Id 列并将其转换为列表或其他一些聪明的方式;那计数操作会更快吗?

信息:GetAll() => 这是一个存储库模式方法,从 linqToSql 数据实体返回 IQueryable 对象 T。

我对各种不同的想法持开放态度。谢谢

最佳答案

我认为对Where和ToList的调用是多余的。 见下文。

this.lblSth.Text = new Repository<Sth>().GetAll().Count(p => p.PersonId == personId).ToString();

关于c# - IQueryable查询数据数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969861/

相关文章:

c# - 如果 IQueryable<T> 继承 IEnumerable<T> ,那么 IQueryable<T> 为什么是 LINQ to SQL?

c# - 如何使 LINQ-to-Objects 处理投影?

c# - MVC4 忽略 [HttpGet] 和 [HttpPost] 属性

MySQL 对查询返回的行进行计数和排序

javascript - 使用 Javascript 计算 CSV 中的行数

mysql - 如何汇总特定航类的预订总数

c# - 存储库方法与扩展 IQueryable

c# - 空合并操作顺序

C# 如何在控制台应用程序中制作水平条形图

c# - 无法在 .NET 中使用 C# 创建可缩放的 png 图像