TableEntityAdapter<T>.WriteEntity(OperationContext) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プロパティからデータ値にIDictionary<TKey,TValue>EntityPropertyマップされたプロパティ名の をOriginalEntityシリアル化します。
public override System.Collections.Generic.IDictionary<string,Microsoft.Azure.Cosmos.Table.EntityProperty> WriteEntity (Microsoft.Azure.Cosmos.Table.OperationContext operationContext);
override this.WriteEntity : Microsoft.Azure.Cosmos.Table.OperationContext -> System.Collections.Generic.IDictionary<string, Microsoft.Azure.Cosmos.Table.EntityProperty>
Public Overrides Function WriteEntity (operationContext As OperationContext) As IDictionary(Of String, EntityProperty)
パラメーター
- operationContext
- OperationContext
現在の操作のコンテキストを表す OperationContext オブジェクトです。
戻り値
このテーブル エンティティ インスタンスをシリアル化することによって作成された IDictionary<TKey,TValue> の型指定された値に対して、文字列のプロパティ名をマッピングする EntityProperty オブジェクトです。
注釈
が単純なプロパティ (プリミティブ型、string、byte[]、...) WriteEntity(OperationContext) を持つ単純な POCO オブジェクトの場合OriginalEntity、メソッドはこれらのプロパティを使用してオブジェクトを作成EntityPropertyします。
つまり、こういうことです。 この構造 A-B、A-C>> のプロパティを持つ B と C の単純な POCO オブジェクト A は、{"B"、EntityProperty(B)}、{"C"、EntityProperty(C)} のキー値ペアに変換されます。
が複雑なプロパティ (および独自の複雑なプロパティを持つ可能性があるこれらのプロパティ) WriteEntity(OperationContext) を持つ場合OriginalEntity、メソッドは最初にフラット化OriginalEntityされます。
つまり、こういうことです。 B の単純なプロパティと、この構造 A-B、A-C-E>>、および A-D-F> を持つ E と F の独自のプロパティを持つ C と D> の複合プロパティを持つオブジェクト A> は、次のキー値ペアにフラット化されます。
{"B", EntityProperty(B)}, {"C_E", EntityProperty(E)} and {"D_F", EntityProperty(F)}.
キー値のペアごとに、次の手順を実行します。
1. キーは、ルート (A) から参照されるプロパティの名前を、"_" で区切られたエンド ノード プロパティ (E または F) に追加することによって構成されます。
2. 値は オブジェクトであり EntityProperty 、終了ノード プロパティの値によってインスタンス化されます。
すべてのキー値のペアは、返された IDictionary<TKey,TValue>に格納されます。
ReadEntity(IDictionary<String,EntityProperty>, OperationContext) メソッドは、このメソッドによって返された を使用して元の IDictionary<TKey,TValue> オブジェクト (POCO または複合) を再計算し、プロパティに OriginalEntity 格納します。
オブジェクトで で IgnorePropertyAttributeOriginalEntity でマークされているプロパティは無視され、このメソッドでは処理されません。
適用対象
Azure SDK for .NET