破坏Json的c#循环引用并将对象赋值为null

破坏Json的c#循环引用并将对象赋值为null,c#,json,entity-framework,model-view-controller,circular-reference,C#,Json,Entity Framework,Model View Controller,Circular Reference,我有一个带有外键的数据库和一个从中加载的模型。由于这些继承的引用,对象中存在循环引用 在我的例子中,Course和SiteUser是对象引用。当我运行下面的代码时,引用不会中断。是否有适当/简单的方法打破这些循环引用?我的研究向我展示了数据契约,但我们的数据库是巨大的,需要大量的工作 public partial class ScormActivity { public static ScormActivity filterCircularReferences(ScormActivity

我有一个带有外键的数据库和一个从中加载的模型。由于这些继承的引用,对象中存在循环引用

在我的例子中,Course和SiteUser是对象引用。当我运行下面的代码时,引用不会中断。是否有适当/简单的方法打破这些循环引用?我的研究向我展示了数据契约,但我们的数据库是巨大的,需要大量的工作

public partial class ScormActivity
{
    public static ScormActivity filterCircularReferences(ScormActivity activity)
    {
        activity.Course = null;
        activity.SiteUser = null;
        return activity;
    }
}

您使用哪个库来转换为JSON?System.Web.MVC.Controller.JSON看看这里:也许这是因为我对c#缺乏了解,但据我所知,我需要创建一个派生类来重写成员以添加ScriptIgnore属性。然后我必须以成员方式将原始类分配给派生类。此时,我宁愿返回该类的新实例,而不指定Course和SiteUser成员。您是否无法将属性放在原始类上?另外,我相信
JSON.Net
支持循环引用,因此您可以使用循环引用,而不是MVC
JSON()
。但是,是的,使用JSON的循环引用通常是一种痛苦,真的。我会尽量避免