具有多对多的MVC 4模型会生成一个错误类型的对象图包含循环并且无法序列化



我使用的是MVC 4中的单页应用程序模板。模板创建了以下内容:

    public partial class SSOController : DbDataController<Softdocs.SSOWeb.SSOContext>
{
    public IQueryable<Softdocs.SSOWeb.Models.User> GetUsers() {
        return DbContext.Users.Include("Groups").OrderBy(u => u.UseName);
    }
    . . . 
}

我添加了".Include("Groups")"来填充表示Groups和Users之间的m2m的集合。这导致在客户端上收到以下错误

Object graph for type contains cycles and cannot be serialized if reference tracking is disabled

这似乎是一个长期存在的问题,可以在WCF中通过[CyclicReferencesAware(true)]或[DataContract(IsReference=true)]装饰方法来解决。

任何关于如何使用DdDataController(ASP.NetWebApi)解决此问题的想法都将不胜感激。

我也遇到过类似的问题,显然这是微软知道的测试版WebApi中的一个常见问题。类似问题的论坛帖子

最新更新