Я получаю ошибку сериализации циклических ссылок, хотя, насколько мне известно, у меня нет циклических ссылок. Я получаю набор заказов из базы данных и отправляю их клиенту в формате JSON. Весь код показан ниже.
Это ошибка:
Ошибка
Обнаружена циклическая ссылка насколько мне известно, у меня нет циркулярных ссылок. Я получаю набор заказов из базы данных и отправляю их в ...
Я получаю ошибку сериализации циклических ссылок, хотя, насколько мне известно, у меня нет циклических ссылок. Я получаю набор заказов из базы данных и отправляю их клиенту в формате JSON. Весь код показан ниже.
Это ошибка:
Ошибка
Обнаружена циклическая ссылка насколько мне известно, у меня нет циркулярных ссылок. Я получаю набор заказов из базы данных и отправляю их в ...
Я получаю ошибку сериализации циклических ссылок, хотя, насколько мне известно, у меня нет циклических ссылок. Я получаю набор заказов из базы данных и отправляю их клиенту в формате JSON. Весь код показан ниже.
Это ошибка:
Ошибка
Обнаружена циклическая ссылка при сериализации объекта типа 'System.Data.Entity.DynamicProxies.Order_83CECF2AA4DE38232F9077D4B26941AB96BC61230419EA8AC42C9100E6072812'. Описание: необработанное исключение произошло во время выполнения текущий веб-запрос. Пожалуйста, просмотрите трассировка стека для получения дополнительной информации о ошибка и откуда она возникла код.
Сведения об исключении: System.InvalidOperationException: A круговая ссылка была обнаружена во время сериализация объекта типа 'System.Data.Entity.DynamicProxies.Order_83CECF2AA4DE38232F9077D4B26941AB96BC61230419EA8AC42C9100E6072812'.
Ошибка источника:
Создано необработанное исключение во время выполнения текущего веб-запрос. Информация о происхождение и местонахождение исключения можно идентифицировать с помощью исключения трассировка стека ниже.
Мои классы следующие:
Заказ
public class Order { [Key] public int OrderId { get; set; } public int PatientId { get; set; } public virtual Patient Patient { get; set; } public int CertificationPeriodId { get; set; } public virtual CertificationPeriod CertificationPeriod { get; set; } public int AgencyId { get; set; } public virtual Agency Agency { get; set; } public int PrimaryDiagnosisId { get; set; } public virtual Diagnosis PrimaryDiagnosis { get; set; } public int ApprovalStatusId { get; set; } public virtual OrderApprovalStatus ApprovalStatus { get; set; } public int ApproverId { get; set; } public virtual User Approver { get; set; } public int SubmitterId { get; set; } public virtual User Submitter { get; set; } public DateTime ApprovalDate { get; set; } public DateTime SubmittedDate { get; set; } public Boolean IsDeprecated { get; set; } }
Пациент
public class Patient { [Key] public int PatientId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string MiddleInitial { get; set; } public bool IsMale; public DateTime DateOfBirth { get; set; } public int PatientAddressId { get; set; } public Address PatientAddress { get; set; } public bool IsDeprecated { get; set; } }
Период сертификации
public class CertificationPeriod { [Key] public int CertificationPeriodId { get; set; } public DateTime startDate { get; set; } public DateTime endDate { get; set; } public bool isDeprecated { get; set; } }
Агентство
public class Agency { [Key] public int AgencyId { get; set; } public string Name { get; set; } public int PatientAddressId { get; set; } public virtual Address Address { get; set; } }
Диагноз
public class Diagnosis { [Key] public int DiagnosisId { get; set; } public string Icd9Code { get; set; } public string Description { get; set; } public DateTime DateOfDiagnosis { get; set; } public string Onset { get; set; } public string Details { get; set; } }
OrderApprovalStatus
public class OrderApprovalStatus { [Key] public int OrderApprovalStatusId { get; set; } public string Status { get; set; } }
Пользователь
public class User { [Key] public int UserId { get; set; } public string Login { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string NPI { get; set; } public string Email { get; set; } }
ПРИМЕЧАНИЕ: КЛАСС АДРЕСА IS НОВОЕ ДОБАВЛЕНИЕ ВО ВРЕМЯ РЕДАКТИРОВАНИЯ
Адрес
public class Address { [Key] public int AddressId { get; set; } public string StreetAddress { get; set; } public string City { get; set; } public string State { get; set; } public string Zip { get; set; } public string Phone { get; set; } public string Title { get; set; } public string Label { get; set; } }
Код, выполняющий сериализацию, находится здесь:
Выдержка из OrderController
public ActionResult GetAll() { return Json(ppEFContext.Orders, JsonRequestBehavior.AllowGet); }
Спасибо