我正在尝试做一个简单的 JSON 返回,但我遇到了以下问题。
public JsonResult GetEventData()
{
var data = Event.Find(x => x.ID != 0);
return Json(data);
}
我得到了一个 HTTP 500 异常,如本问题的标题所示。我也试过了
var data = Event.All().ToList()
同样的问题。
这是一个错误还是我的实现?
最佳答案
您的对象层次结构中似乎存在 JSON 序列化程序不支持的循环引用。你需要所有的列吗?您可以只在 View 中选择您需要的属性:
return Json(new
{
PropertyINeed1 = data.PropertyINeed1,
PropertyINeed2 = data.PropertyINeed2
});
这将使您的 JSON 对象更轻巧且更易于理解。如果您有很多特性,AutoMapper可用于 automatically DTO 对象和 View 对象之间的映射。
关于c# - 在序列化 'SubSonic.Schema .DatabaseColumn' 类型的对象时检测到循环引用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1153385/