private static list;
public void SetList()
{
var query = Container.Advices.Where();
list= query.ToList();
}
public void doStuff()
{
var temp= list.where (...).ToList();
}
問題的情況:
當我打電話首次SETLIST,所有工作得很好。 現在,第二個是調用SetList。我可以看到在該方法中,有所有的對象,但在第二個方法doStuff是一個異常拋出:ObjectContext被處置... 我不明白爲什麼。我看到數據在列表中正確加載,而不是一秒鐘後,我無法加載導航屬性。
我該如何解決這個問題?
編輯
我該怎麼辦: 1.我叫SETLIST()來初始化列表中第一次 2. doStuff都能正常運作 3.我重新與SETLIST 4.接下來通話清單doStuff在試圖使用導航屬性時以異常結束:
var temp = list.where (m=> m.Address.id==addressId).ToList()
第二次失敗,出現異常:ObjectContext被丟棄。 ..
這也許可以幫助你解決問題了嗎? http://stackoverflow.com/questions/18398356/how-to-solve-the-error-the-objectcontext-instance-has-been-disposed-and-can-no-l – HDD
你沒有顯示上下文的位置被處置,所以不可能準確地說出來。不要將共享成員('Container')用於上下文。他們很便宜 - 創建它們,你需要做什麼,以及它們的處置(確保水合物任何物體與'ToList'或處置之前類似的東西)。 –
我編輯了我的問題......也許它更好理解。我必須使用容器。 :/ – maerlyn