当我对 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/