Frage

Ich habe mit 500 internen Fehlern, wenn die Ajax-Antwort zu erhalten.

Hier ist der Ajax-Funktion des Controllers:

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

Dies ist, was das Repository sendet:

   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;
        }
    }

Dies ist der Server reagieren:

Die Object Instanz wurde angeordnet ist und nicht mehr verwendet werden kann, um Operationen, die eine Verbindung erforderlich ist.

Es gibt eine „zirkuläre Referenz“ zwischen Ordnung und ItemsInOrder. Aber wenn ich entfernen Fügen Sie die ( „Order“) ich eine Ausnahme erhalten, wenn das Raster das ItemsInOrder Objekt ist enumarating (auf dem Bestellformular Referenzfeld).

Ist dieser Fehler auf die zirkuläre Referenz verwendet? Was soll ich machen ? Erstellen Sie ein neues Objekt und manuell ersetzen auf dem Weg zum und zurück vom Netz?

War es hilfreich?

Lösung

Ich habe dieses Problem gelöst, indem eine neue Liste von POCO Elementen aus der Liste aus der Datenbank zurückgegeben zu schaffen. Ich glaube nicht, dies die beste Lösung ist, und sicher nicht ein effizienten, aber es machte das Gitterwerk.

Hope eine bessere Lösung wird kommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top