在API控制器中检测到JSON.Net自引用循环



环境:

  • .net 4.6 1.0.0-rc1-update2
  • 实体框架核心rc最终版本

我的API控制器正在抛出此异常:

应用程序引发了未经处理的异常。Newtonsoft.Json.JsonSerializationException:为类型为"Blog.Model.Site"的属性"Site"检测到自引用循环。路径为"[0].Menus[0]"。

如何实现此处建议的修复程序:JSON.Net自引用循环检测到

据我所知,EF核心并没有实现延迟加载或代理创建。

我的控制器简单地返回这个查询生成的集合:

public async Task<List<Site>> GetActiveSites()
{
    var query = db.Sites.Where(x => x.Active)
        .Include(x => x.Menus)
        .ThenInclude(m => m.MenuContentItems)
        .ThenInclude(x => x.ContentItem);
    return await query.ToListAsync();
}

其中:

  • 站点(1)-菜单(*)
  • 菜单(1)-菜单项(*)
  • MenuContentItem(*)-ContentItem(1)

创建一个没有EF双向映射的视图模型。从您的ef查询填充该视图模型。

相关内容

  • 没有找到相关文章

最新更新