オブジェクトのシリアル化 (Entity Framework)

Entity Data Model ジェネレータ ツール (EdmGen.exe) および Entity Data Model ウィザードによって生成されたエンティティ型には、SerializableAttribute および DataContractAttribute が適用されます。そのため、バイナリ シリアル化、XML シリアル化、および Windows Communication Foundation (WCF) データ コントラクト シリアル化を使用して、オブジェクトをシリアル化できます。詳細については、「Web サービスおよび Entity Data Model (アプリケーション シナリオ)」を参照してください。

エンティティのシリアル化および逆シリアル化を行うときは、次の点を考慮してください。

  • バイナリ シリアル化と WCF データ コントラクト シリアル化を使用する場合に、シリアル化するオブジェクトのオブジェクト グラフに関連オブジェクトがあると、これらのオブジェクトもシリアル化されます。XML シリアル化では、関連オブジェクトはシリアル化されません。

  • オブジェクトのプロパティとリレーションシップ情報だけがシリアル化されます。オブジェクト コンテキストで維持されているオブジェクトの状態情報はシリアル化されません。

  • オブジェクトが逆シリアル化された後、オブジェクトは Detached 状態になります。詳細については、「オブジェクトのアタッチ (Entity Framework)」を参照してください。

エンティティ型はバイナリ シリアル化をサポートするので、ポストバック操作中に ASP.NET アプリケーションのビュー ステートでオブジェクトを保存できます。必要な場合は、オブジェクトおよびその関連オブジェクトがビュー ステートから取得され、既存のオブジェクト コンテキストにアタッチされます。詳細については、「オブジェクトをシリアル化およびシリアル化解除する方法 (Entity Framework)」を参照してください。

参照

その他のリソース

オブジェクト コンテキストの管理 (Entity Framework)
オブジェクトの使用 (Entity Framework)