次の方法で共有


FindItemMetadataByUniqueIndexedFields メソッド

派生クラスでオーバーライドされると、インデックス付きフィールドの指定された値を持つ一意の項目メタデータ エントリを返します。

名前空間:  Microsoft.Synchronization.MetadataStorage
アセンブリ:  Microsoft.Synchronization.MetadataStorage (Microsoft.Synchronization.MetadataStorage.dll 内)

構文

'宣言
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
    fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
'使用
Dim instance As ReplicaMetadata
Dim fields As IEnumerable(Of KeyValuePair(Of String, Object))
Dim returnValue As ItemMetadata

returnValue = instance.FindItemMetadataByUniqueIndexedFields(fields)
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields(
    IEnumerable<KeyValuePair<string, Object>> fields
)
public:
virtual ItemMetadata^ FindItemMetadataByUniqueIndexedFields(
    IEnumerable<KeyValuePair<String^, Object^>>^ fields
) abstract
abstract FindItemMetadataByUniqueIndexedFields : 
        fields:IEnumerable<KeyValuePair<string, Object>> -> ItemMetadata 
public abstract function FindItemMetadataByUniqueIndexedFields(
    fields : IEnumerable<KeyValuePair<String, Object>>
) : ItemMetadata

パラメーター

  • fields
    型 : System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'KeyValuePair< (Of < ( <'String, Object> ) > ) >> ) > ) >
    検索対象項目を識別する一意のインデックス付きフィールドのセットです。これらのフィールドは、一意のインデックスを表す有効なフィールドでなければなりません。これらのフィールドは、InitializeReplicaMetadata を呼び出したときにインデックスの指定に使用した順序と同じにする必要があります。

戻り値

型 : Microsoft.Synchronization.MetadataStorage. . :: . .ItemMetadata
インデックス付きフィールドの指定された値を持つ一意の項目メタデータ エントリです。項目が存在しない場合は、nullNothingnullptrunitNULL 参照 (Visual Basic では Nothing) が返されます。

例外

例外 条件
ObjectDisposedException

オブジェクトが破棄されているか、正しく初期化されていません。

ArgumentNullException

fields が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) であるか、fields に含まれるいずれかの名前または値が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) です。

ArgumentException

fields 内に長さが 0 のフィールド名があるか、fields 内に長さが 0 の文字列型の値があります。

NotSupportedException

fields 内にサポートされていない型のフィールドがあります。

MetadataFieldNotFoundException

fieldName が見つからなかったか、有効ではありません。

MetadataStoreInvalidOperationException

指定したフィールドは一意のインデックスではありません。

説明

FieldSchemaInitializeReplicaMetadata に渡すことによってレプリカ メタデータが最初に初期化される場合は、カスタム フィールドを確立する必要があります。

IndexSchemaInitializeReplicaMetadata に渡すことによってレプリカ メタデータが最初に初期化される場合は、インデックス付きフィールドを確立し、一意としてマーク付けする必要があります。

次の例では、インデックス フィールドの名前と値のペアの一覧を作成し、この一覧を一意なインデックスとして使用してメタデータ ストア内の項目を検索します。

private ItemMetadata FindMetadata(Contact contact)
{
    // Try to find the item by using the unique index field values of the contact. These values are
    // the first name, last name, and phone number of the contact.
    List<KeyValuePair<string, object>> fields = new List<KeyValuePair<string, object>>();
    fields.Add(new KeyValuePair<string, object>(FirstNameField, contact.FirstName));
    fields.Add(new KeyValuePair<string, object>(LastNameField, contact.LastName));
    fields.Add(new KeyValuePair<string, object>(PhoneNumberField, contact.PhoneNumber));
    return _ContactReplicaMetadata.FindItemMetadataByUniqueIndexedFields(fields);
}

参照

参照

ReplicaMetadataクラス

ReplicaMetadata メンバー

Microsoft.Synchronization.MetadataStorage 名前空間