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數據庫表中有多少條記錄?而且,這是一張普通的桌子,一個視圖還是其他的東西?這將有助於確定超時是否真的是超時,或者可能是其他情況(例如死鎖或數據庫視圖分頁問題等)。 –