我在IQueryable<T>
整个应用程序中使用接口,并将数据库上的 SQL 执行推迟到像这样的方法.ToList()
我有时需要找到某些列表的计数 - 而无需使用正在计数的列表中的数据。根据我的 SQL 经验,我知道 SQL COUNT() 对数据库的工作量远低于返回所有行的等效 SELECT 语句。
IQueryable<T>
所以我的问题是:从'Count()
方法返回计数比将 ' 渲染IQueryable<T>
到列表并调用列表的方法在数据库上的工作会更少Count()
吗?
我怀疑它会ToList()
触发 SELECT sql,然后在单独的查询中计算行数。我希望Count()
onIQueryable<T>
只是为 sql COUNT() 查询呈现 sql。但我不确定。你知道吗?