【发布时间】:2015-11-17 09:08:07
【问题描述】:
我正在尝试序列化课程的数据。我得到课程 ID(C_id)和课程名称(C_Name)。我得到的另一件事是学生的 Icoolection。当我尝试对其进行序列化时,我无法获得已注册该课程的学生的嵌套列表。
var u = (from g in t.courses
select g)
.ToList();
List<course> ui = u
.Select(d => new course()
{ C_Name = d.C_Name,
C_Id = d.C_Id,
student = d.student
})
.ToList();
ASCIIEncoding objASCIIEncoding = new ASCIIEncoding();
string strData = JsonConvert
.SerializeObject(ui, Formatting.Indented, new JsonSerializerSettings()
{
ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
});
在上面的代码中,我使用嵌套的students 列表获得了正确的数据,但是当这一行时
string strData = JsonConvert.SerializeObject(ui, Formatting.Indented, new JsonSerializerSettings()
{
ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
});
执行我只得到 Course ID(C_ID) 和 course Name(C_Name) 。嵌套的student 列表未序列化。
【问题讨论】:
-
看起来它与引用循环处理和您的数据具有无限嵌套有关。更多详情请见stackoverflow.com/questions/11979637/…
标签: c# entity-framework