2011-01-13 39 views
0

我得到ajax響應時有500內部錯誤。TELERIK ASP.NET MVC2 AJAX錯誤500內部錯誤,與實體框架4對象

這裏是控制器的Ajax功能:

[GridAction] 
    public ActionResult SelectItemGridAjax(int OrderID) 
    { 
     return View(new GridModel(ordersRepository.GetOrderItemsTK(OrderID).ToList())); 
    } 

這就是倉庫發送:

public IEnumerable<ItemsInOrder> GetOrderItemsTK(int OrderID) 
    { 
     using (var context = new techrundb()) 
     { 
      var result = (from p in context.ItemsInOrders.Include("Order").Where(i=>i.OrderID == OrderID) select p).ToList(); 
      return result; 
     } 
    } 

這是服務器響應:

的ObjectContext的實例已經 處置並且不能再用於需要操作的 操作連接。

Order和ItemsInOrder之間有一個「循環引用」。 但是,如果我刪除包含(「訂單」),當網格激活ItemsInOrder對象(在訂單參考字段上)時,我會得到一個異常。

此錯誤是否與循環引用有關? 我該怎麼辦?創建一個新的對象,並手動將其替換到網格的路上和返回的路上?

回答

0

我已經通過從數據庫返回的列表創建POCO項目的新列表來解決此問題。 我不認爲這是最好的解決方案,當然不是一個有效的解決方案,但它使網格工作。

希望有更好的解決方案出來。