IQueryable<MailHeader> mailHeader =
_ctx.MailHeaders.Where(w => (w.ToReceipientID.Contains(curUser)
|| w.CCReceipientID.Contains(curUser)
|| w.BCCReceipientID.Contains(curUser))
&& w.UnRead == true && w.IsDraft == false
&& w.IsInbox == true
&& (w.IsApproved == true || w.IsApproved == null));
int unReadMails = mailHeader.Count();
大家好。当我遇到这个问题时第一次登录。执行linq查询时的超时错误
执行我的C#控制器代码的上述行时,我得到超时表达式。在查看以前的建议后,我尝试了查询IQueryable并执行,但仍然在执行计数统计时看到超时错误。任何人都可以帮助找到原因吗?
可能您可以尝试增加DataContext中的超时时间。我假设_ctx是你的DataContext。 – Rangesh
您是否试图查看正在生成的SQL并针对您的SQL服务器运行该查询以查看查询本身是否有问题?这可能是你需要添加一些索引到你的表中。 –
MailHeaders数据库表中有多少条记录?而且,这是一张普通的桌子,一个视图还是其他的东西?这将有助于确定超时是否真的是超时,或者可能是其他情况(例如死锁或数据库视图分页问题等)。 –