Сериализация объектов (платформа Entity Framework)

В типах сущностей, формируемых средством создания модели EDM (EdmGen.exe) и мастером моделей EDM, применяются SerializableAttribute и DataContractAttribute. Благодаря этому обеспечивается возможность сериализации объектов с помощью двоичной сериализации, сериализации XML и сериализации контракта данных WCF. Дополнительные сведения см. в разделе Построение многоуровневых приложений (платформа Entity Framework).

Проводя сериализацию и десериализацию сущностей, необходимо руководствоваться следующими соображениями.

  • При сериализации сущностей пользователю может понадобиться отключить отложенную загрузку. Если этого не сделать, она будет запускаться и в сериализуемый граф объектов может попасть больше данных, чем ожидалось. Дополнительные сведения об отложенной загрузке см. в разделе Загрузка связанных объектов (платформа Entity Framework).

  • При сериализации объекта также сериализуется объект EntityKey.

  • Если используется двоичная сериализация и контрактная сериализация данных WCF, то при наличии у сериализуемого объекта связанных объектов в графе объектов эти объекты также сериализуются. При XML-сериализации связанные объекты не сериализуются.

  • Происходит сериализация только свойств объектов и данных о связях. Данные о состоянии объекта, поддерживаемые в контексте объекта, не сериализуются. Начиная с четвертой версии платформы .NET Framework, сущности с самостоятельным отслеживанием могут содержать собственную логику отслеживания изменений. Дополнительные сведения см. в разделе Работа с сущностями с самостоятельным отслеживанием.

  • После десериализации объекта он находится в состоянии Detached. Дополнительные сведения см. в разделе Присоединение и отсоединение объектов (платформа Entity Framework).

Типы сущностей поддерживают двоичную сериализацию, поэтому объекты могут быть сохранены в состоянии просмотра приложения ASP.NET во время операции обратной передачи. В случае необходимости происходит получение объекта и связанных с ним объектов из состояния просмотра с последующим присоединением к существующему контексту объекта. Дополнительные сведения см. в разделе Как сериализовывать и десериализовывать объекты в двоичный поток и из него (платформа Entity Framework).

В этом разделе

Как сериализовывать и десериализовывать объекты в двоичный поток и из него (платформа Entity Framework)

Пошаговое руководство. Сериализация прокси-сущностей POCO с помощью WCF (платформа Entity Framework)

Пошаговое руководство по выполнению сериализации сущностей с самостоятельным отслеживанием (платформа Entity Framework)

См. также

Задачи

Пошаговое руководство по выполнению сериализации сущностей с самостоятельным отслеживанием (платформа Entity Framework)

Основные понятия

Работа с объектами (платформа Entity Framework)