Telerik ASP.NET AJAX MVC2 Erreur 500 Erreur interne, avec l'entité cadre 4 objets
-
10-10-2019 - |
Question
J'ai d'avoir 500 erreur interne lors de l'obtention de la réponse ajax.
Voici la fonction ajax du contrôleur:
[GridAction]
public ActionResult SelectItemGridAjax(int OrderID)
{
return View(new GridModel(ordersRepository.GetOrderItemsTK(OrderID).ToList()));
}
est ce que le référentiel envoie:
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;
}
}
Ceci est le serveur répondre:
L'instance ObjectContext a été disposé et ne peut plus être utilisé pour opérations qui nécessitent une connexion.
Il y a une « référence circulaire » entre l'ordre et ItemsInOrder. Mais si je retire Inclure ( « Ordre ») Je reçois une exception lorsque la grille est enumarating l'objet ItemsInOrder (sur le champ de référence de la commande).
Est-ce erreur liée à la référence circulaire? Que devrais-je faire ? Créer un nouvel objet et remplacer manuellement sur le chemin de retour de la grille?
La solution
Je l'ai résolu ce problème en créant une nouvelle liste des articles POCO de la liste renvoyée de la base de données. Je ne pense pas que ce soit la meilleure solution, et bien sûr pas un efficace, mais il fait le travail du réseau.
L'espoir d'une meilleure solution viendra.