【问题标题】:TELERIK ASP.NET MVC2 AJAX Error 500 internal Error, with entity Framework 4 objectsTELERIK ASP.NET MVC2 AJAX 错误 500 内部错误,带有实体框架 4 对象
【发布时间】:2011-01-13 20:25:48
【问题描述】:

在获取 ajax 响应时出现 500 个内部错误。

这里是控制器的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 之间存在“循环引用”。 但是,如果我删除 Include("Order"),当网格枚举 ItemsInOrder 对象(在 Order 参考字段上)时,我会得到一个异常。

这个错误与循环引用有关吗? 我应该怎么办 ?创建一个新对象并在往返网格的途中手动替换它?

【问题讨论】:

    标签: asp.net-mvc-2 entity-framework-4 telerik-grid


    【解决方案1】:

    我已经通过从数据库返回的列表中创建一个新的 POCO 项目列表来解决这个问题。 我不认为这是最好的解决方案,而且肯定不是一个有效的解决方案,但它使网格工作。

    希望能有更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多