Сериализация объектов (платформа 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).
В этом разделе
Пошаговое руководство. Сериализация прокси-сущностей POCO с помощью WCF (платформа Entity Framework)