轻舟已过万重山 2013年12月13日
IQueryable<T>调用Count的时候超时
代码如下:

public PagedList(IQueryable<T> source, int pageIndex, int pageSize)
{
int total = source.Count();
this.TotalCount = total;
this.TotalPages = total / pageSize;
if (total % pageSize > 0)
TotalPages++;
this.PageSize = pageSize;
this.PageIndex = pageIndex;
this.AddRange(source.Skip(pageIndex * pageSize).Take(pageSize).ToList());
}

问题:
执行到source.Count()的时候超时,但通过跟踪,执行这个方法的时候的T-SQL,COPY出来大概如下:
SELECT COUNT....
在SQL Server Management Studio中执行是非常快的。
不明白,Count()方法,除了去调用执行这句SQL,到底干了啥?还有其他地方锁定了表?

求解,感谢任何建议。
...全文
262 点赞 收藏 9
写回复
9 条回复

还没有回复,快来抢沙发~

发动态
发帖子
LINQ
创建于2007-12-13

7865

社区成员

4739

社区内容

.NET技术 LINQ
社区公告
暂无公告