Я использую System.Web.Script.Serialization.JavaScriptSerializer, содержащийся в DLL-библиотеке System.Web.Extentions. У меня есть несколько циклических ссылок, таких как базовые отношения «многие ко многим» и отношения «родитель-ребенок». Как я могу справиться с этим? У нас была идея заменить реальные ссылки на объекты на внешние ключи. Например, вместо этого:
public class Node {
public Node Parent { get; set; }
public ICollection<Node> Children { get; set; }
}
Мы бы сделали это:
public class Node {
public long ParentID { get; set; }
public ICollection<long> ChildrenIDs { get; set; }
}
Я думал об использовании атрибута ScriptIgnore, но как вы вообще используете это с отношениями «многие ко многим»? Советы и предложения будут оценены. Спасибо!
Редактировать: Вот несколько примеров классов для отношений «многие ко многим».
public class Student {
public long StudentID { get; private set; }
public ICollection<Class> Classes { get; set; }
}
public class Class {
public long ClassID { get; private set; }
public ICollection<Student> Students { get; set; }
}