Я успешно использовал [DataContract(IsReference=true)]
для решения проблемы циклической зависимости в прошлом. По общему признанию они не были объектами, произведенными EF, но я не уверен, насколько это должно иметь значение.
Какая именно ошибка?
Неужели график становится большим?
Может ли быть так, что ваши объекты - это не одинаковые экземпляры, а разные экземпляры концептуально одного типа?
Так, когда ваш TypeA-instance1 получает сериализацию и имеет ссылку на TypeB-instance1, который имеет ссылку на TypeA-instance1, два фактических объекта TypeA-instance1 не сравниваются равными, поэтому сериализатор не пытается повторно использовать ссылки?
Вы можете переопределить метод equals для ваших объектов и провести некоторое тестирование на равенство, основываясь на свойствах вашего объекта, а не на адресе памяти по умолчанию, который будет использоваться.