小编典典

序列化“SubSonic.Schema.DatabaseColumn”类型的对象时检测到循环引用。

all

我正在尝试做一个简单的 JSON 返回,但我遇到了以下问题。

public JsonResult GetEventData()
{
    var data = Event.Find(x => x.ID != 0);
    return Json(data);
}

我得到了一个 HTTP 500 异常,如本问题的标题所示。我也试过

var data = Event.All().ToList()

这给出了同样的问题。

这是一个错误还是我的实现?


阅读 77

收藏
2022-08-01

共1个答案

小编典典

您的对象层次结构中似乎存在 JSON 序列化程序不支持的循环引用。你需要所有的列吗?您只能在视图中选择您需要的属性:

return Json(new 
{  
    PropertyINeed1 = data.PropertyINeed1,
    PropertyINeed2 = data.PropertyINeed2
});

这将使您的 JSON
对象更轻、更易于理解。如果你有很多属性,AutoMapper可以用来自动映射 DTO 对象和 View 对象。

2022-08-01