Errore Telerik ASP.NET AJAX MVC2 500 errore interno, con Entity Framework 4 oggetti
-
10-10-2019 - |
Domanda
Ho avere 500 errore interno quando ottiene la risposta Ajax.
Questa è la funzione ajax del controllore:
[GridAction]
public ActionResult SelectItemGridAjax(int OrderID)
{
return View(new GridModel(ordersRepository.GetOrderItemsTK(OrderID).ToList()));
}
Questo è ciò che manda il Repository:
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;
}
}
Questo è il rispondere server:
L'istanza è stata ObjectContext disposti e non può più essere utilizzato per operazioni che richiedono una connessione.
C'è un "riferimento circolare" tra l'ordine e ItemsInOrder. Ma se mi tolgo la include ( "Ordine") ottengo un'eccezione quando la griglia è enumarating l'oggetto ItemsInOrder (sul campo di ordinazione).
E 'questo errore relativo al riferimento circolare? Cosa dovrei fare ? Creare un nuovo oggetto e manualmente sostituirlo sul tragitto di andata e dalla rete?
Soluzione
Ho risolto questo problema con la creazione di un nuovo elenco di Poco elementi dall'elenco restituiti dal database. Non credo che questa sia la soluzione migliore, e di sicuro non un efficiente, ma ci ha fatto la griglia di lavoro.
La speranza di una soluzione migliore si presenti.