0

根据 StackOverflow 的一些建议,我使用下面的代码在我的 dbContext 中关闭了 ProxyCreation 以解决循环引用问题

_dbcontext.Configuration.ProxyCreationEnabled = false;

将其关闭后,Json 序列化返回我的相关类型的 null,这有望解决循环引用,但如果我仍然需要某种类型怎么办。例如,我可以从我的 EntityChild 访问 EntityParentType

EntityChild.EntityParentType(它们在数据库中关联为外键关系,EntityParenetTypeId)。

我试过 .Include("EntityParentType") 但我又回到了循环引用问题。完成这项工作的正确方法是什么?

    var result = from entry in EntityChild.Include("EntityParentType")
                 where entry.EntityParentTypeId == 1 
                 select entry;

编辑:使用 ViewModel 是解决此循环引用问题的最佳选择吗?http://garfbradazweb.wordpress.com/2011/09/22/mvc-3-entity-framework-and-serializing-jsoncircular-references/

4

1 回答 1

1

您可以使用ScriptIgnore属性忽略序列化中的父级或子级,

public class Entity
{
    [ScriptIgnore]
    public Item ChildEntity { get; set; }
}
于 2013-03-18T03:46:29.007 回答