Freigeben über


ReplicaMetadata.FindItemMetadataByUniqueIndexedFields-Methode

Gibt, wenn in einer abgeleiteten Klasse überschrieben, den eindeutigen Eintrag von Elementmetadaten zurück, der die festgelegten Werte für das indizierte Feld hat.

Namespace: Microsoft.Synchronization.MetadataStorage
Assembly: Microsoft.Synchronization.MetadataStorage (in microsoft.synchronization.metadatastorage.dll)

Syntax

'Declaration
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
    fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
'Usage
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
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields (
    IEnumerable<KeyValuePair<String,Object>> fields
)
public abstract function FindItemMetadataByUniqueIndexedFields (
    fields : IEnumerable<KeyValuePair<String,Object>>
) : ItemMetadata

Parameter

  • fields
    Der Satz eindeutig indizierter Felder, der das zu suchende Element identifiziert. Die Felder müssen gültige Felder sein und einen eindeutigen Index darstellen. Die Reihenfolge dieser Felder muss mit der Reihenfolge übereinstimmen, in der der Index beim Aufruf von InitializeReplicaMetadata angegeben wurde.

Rückgabewert

Der eindeutige Eintrag für Elementmetadaten, der über die festgelegten Werte für die indizierten Felder verfügt. Wenn kein Element vorhanden ist, wird NULL zurückgegeben.

Ausnahmen

Ausnahmetyp Bedingung

ObjectDisposedException

Das Objekt wurde verworfen oder nicht ordnungsgemäß initialisiert.

ArgumentNullException

fields ist NULL, oder ein Name bzw. Wert in fields ist NULL.

ArgumentException

Ein Feldname in fields hat die Länge 0, oder ein Wert des Zeichenfolgentyps in fields hat die Länge 0.

NotSupportedException

Ein Feld in fields ist ein nicht unterstützter Typ.

MetadataFieldNotFoundException

fieldName wurde nicht gefunden oder ist nicht gültig.

MetadataStoreInvalidOperationException

Bei dem angegebenen Feld handelt es sich nicht um einen eindeutigen Index.

Hinweise

Benutzerdefinierte Felder müssen bei erstmaliger Initialisierung der Replikatmetadaten eingerichtet werden, indem FieldSchema an InitializeReplicaMetadata übergeben wird.

Indexfelder müssen bei erstmaliger Initialisierung der Replikatmetadaten eingerichtet und als eindeutig markiert werden, indem IndexSchema an InitializeReplicaMetadata übergeben wird.

Beispiel

Im folgenden Beispiel wird eine Liste von Indexfeldnamens- und Wertpaaren erstellt. Die Liste wird dann als eindeutiger Index zur Suche nach einem Element im Metadatenspeicher verwendet:

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);
}

Siehe auch

Verweis

ReplicaMetadata-Klasse
ReplicaMetadata-Member
Microsoft.Synchronization.MetadataStorage-Namespace