根据 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/