一尘不染

实体框架将POCO序列化为JSON

json

我正在使用Ef
4.1,并且有一个POCO对象要序列化为JSON,我已经读到在使用延迟加载时这样做有问题,但是我不确定我可以这样做,因为一个Message可以的集合Message

有什么办法吗?将这种对象序列化为JSON?

我的Message对象看起来像:

public class Message
{
    [Key]
    public int Id { get; set; }
    public int? ParentId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    public DateTime CreatedAt { get; set; }
    public DateTime? LastModified { get; set; }

    public virtual User User { get; set; }

    public virtual Message Parent { get; set; }

    public virtual ICollection<Message> Children { get; set; }
}

阅读 296

收藏
2020-07-27

共1个答案

一尘不染

问题是循环引用。避免这种情况的一种简单方法是使用Json.Net http://james.newtonking.com/projects/json-
net.aspx而不是默认的MVC
json序列化器。最新版本的Json.Net将开箱即用循环引用序列化对象。http://james.newtonking.com/projects/json/help/PreserveObjectReferences.html了解有关此问题的更多信息

2020-07-27