我正在使用Ef 4.1,并且有一个POCO对象要序列化为JSON,我已经读到在使用延迟加载时这样做有问题,但是我不确定我可以这样做,因为一个Message可以的集合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; } }
问题是循环引用。避免这种情况的一种简单方法是使用Json.Net http://james.newtonking.com/projects/json- net.aspx而不是默认的MVC json序列化器。最新版本的Json.Net将开箱即用循环引用序列化对象。http://james.newtonking.com/projects/json/help/PreserveObjectReferences.html了解有关此问题的更多信息