получил циклическую ссылку при сериализации с использованием метода Controller.Json () - PullRequest
0 голосов
/ 29 ноября 2010

У меня есть модель edmx, и я использую POCO следующим образом:

public class ContactPerson
    {
        public virtual Guid ContactPersonId { get; set; }
        public virtual string FullName { get; set; }     
        public virtual Guid PositionId { get; set; }
        public virtual DateTime Birthday { get; set; }       
        public virtual Position Position { get; set; }
          }

public class Position
    {
        public virtual Guid PositionId { get; set; }
        public virtual string Name { get; set; }
        public virtual ICollection<ContactPerson> ContactPersons { get; set; }
    }

Когда я пытаюсь сериализовать from a in _context.Positions select a с помощью метода Json (), он обнаруживает циклическую ссылку.Я полагаю, это происходит потому, что у Position есть ссылка на коллекцию ContactPersons, а у ContactPerson есть ссылка на Position.

Вопрос очевиден, что делать?

1 Ответ

2 голосов
/ 29 ноября 2010

Попробуйте использовать ScriptIgnoreAttribute в свойстве ContactPerson.Position.Он скажет JavaScriptSerializer не сериализовать это свойство и прервет циклическую ссылку.

...