簡體   English   中英

無法完成該操作,因為已經放置了DbContext,PagedList

[英]The operation cannot be completed because the DbContext has been disposed, PagedList

使用ASP.NET MVC和Entity,我不斷收到“由於DbContext被處置,操作無法完成”。

將UnitOfWork模式與GenericRepository一起使用。

該異常發生在PagedList.PagedListExtensions.ToPagedList中。

我嘗試使用AsNoTracking,但沒有任何結果。

如何避免發生這些異常,因為它會因內部錯誤而使客戶端的接口崩潰。

您很可能直到上下文被處理后才要求枚舉查詢。 LINQ to Entities實際上不會執行查詢,除非您要求枚舉查詢,即查看結果集中的每個項目。 ToPagedList聽起來就像是需要枚舉的事物。

解決方法是在處理上下文之前(可能在存儲庫中)通過在其上調用.ToList()來強制對查詢進行枚舉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM