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
abstract FindItemMetadataByUniqueIndexedFields : 
        fields:IEnumerable<KeyValuePair<string, Object>> -> ItemMetadata 
public abstract function FindItemMetadataByUniqueIndexedFields(
    fields : IEnumerable<KeyValuePair<String, Object>>
) : ItemMetadata

Parameter

Rückgabewert

Typ: Microsoft.Synchronization.MetadataStorage. . :: . .ItemMetadata
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

Ausnahme 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.

Beispiele

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