Атрибут Asp.net ScriptIgnore не работает

Вот мои классы POCO:

public class A
{
    public int id { get; set; }

    public virtual B b { get; set; }
}

public class B
{
    public int id { get; set; }

    [ScriptIgnore]
    public virtual A a { get; set; }
}

Я хочу сериализовать объект от A до Json. Но когда я пытаюсь сериализовать прокси-объект POCO, я получаю исключение циклической ссылки (хотя это работает для объектов POCO). Я искал через Google и обнаружил, что атрибут ScriptIgnore должен работать в.Net 4.5. Но я использую.Net 4.5 и, видимо, он не работает. Может ли кто-нибудь сказать мне, как решить эту проблему?

1 ответ

Круговые графы объектов не могут быть сериализованы в JSON. Правильный способ состоит в том, чтобы создать модель представления анонимных объектов, например.

return Json(new{A.id, A.B.id})
Другие вопросы по тегам