.NET 4是否附带任何序列化/反序列化JSON数据的类?
我想将一个实体框架自我跟踪实体完整对象图(一对多关系中的父/子)序列化为Json.
为了序列化我使用ServiceStack.JsonSerializer.
这就是我的数据库的样子(为简单起见,我删除了所有不相关的字段):

我以这种方式获取完整的个人资料图:
public Profile GetUserProfile(Guid userID)
{
using (var db = new AcmeEntities())
{
return db.Profiles.Include("ProfileImages").Single(p => p.UserId == userId);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是尝试序列化它:
Profile profile = GetUserProfile(userId);
ServiceStack.JsonSerializer.SerializeToString(profile);
Run Code Online (Sandbox Code Playgroud)
生产一个StackOverflowException.我相信这是因为EF提供了一个无限模型,可以将串行器拧紧.也就是说,我可以称之为:profile.ProfileImages[0].Profile.ProfileImages[0].Profile ...等等.
如何"展平"我的EF对象图或以其他方式阻止ServiceStack.JsonSerializer进入堆栈溢出情况?
jsonserializer entity-framework-4 self-tracking-entities c#-4.0 servicestack