2017-04-13 69 views
0

我有一個問題,而我使用Linq的異步結果。 每當我收到錯誤「ObjectContext實例已被處置並且不能再用於需要連接的操作」。 - 但我得到它只是在我的本地數據庫,當我嘗試在我們的測試數據庫一切正常代碼...只有在本地數據庫:ObjectContext實例已被處置

我的代碼:

var manufacturerData= await _manufacturerDataService.GetAllAsync(); 
    return Json(
         manufacturerData.Select(x => new 
         { 
          x.Id, 
          ManufacturerName = x.Manufacturer.Name, 
          CountryName = x.Country.Name, 
          x.ProductType, 
          ContractTypes = x.ContractTypes != null ? string.Join(" ", x.Types.Select(c => c.Name)) : "" 
         }), JsonRequestBehavior.AllowGet); 

我有我的本地測試機上的備份db,所以我不明白爲什麼它不起作用。

+0

'GetAllAsync'是否返回'IQueryable'?如果是這樣,在'Select'的末尾添加'ToList'以確保EF查詢得到評估。 – Romoku

+0

'GetAllAsync'返回'IEnumerable'。我試圖添加'ToList',但現在我得到一個'對象引用沒有被設置爲一個對象實例'..它非常瘋狂 – mg92

回答

0

這個問題的解決方案是不在代碼中找到 - 數據庫有問題。製造商的ID在某些情況下是空的(本地)..我認爲當我從測試數據庫導入數據時出現了問題。

相關問題