【发布时间】: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