ReplicaMetadata.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
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields (
IEnumerable<KeyValuePair<String,Object>> fields
)
public abstract function FindItemMetadataByUniqueIndexedFields (
fields : IEnumerable<KeyValuePair<String,Object>>
) : ItemMetadata
参数
- fields
一组标识要搜索的项的唯一索引字段。这些字段必须是有效的字段,且表示一个唯一索引。这些字段的顺序应与调用 InitializeReplicaMetadata 时用于指定索引的顺序相同。
返回值
索引字段具有相应指定值的唯一项元数据条目。不存在这样的项时,返回一个 null 引用(在 Visual Basic 中为 Nothing)。
异常
异常类型 | 条件 |
---|---|
对象已释放或未正确初始化。 |
|
fields 为 null 引用(在 Visual Basic 中为 Nothing),或 fields 中的任何名称或值为 null 引用(在 Visual Basic 中为 Nothing)。 |
|
fields 中的一个字段名称的长度为 0,或 fields 中的一个字符串类型值的长度为 0。 |
|
fields 中的一个字段为不受支持的类型。 |
|
fieldName 找不到或无效。 |
|
指定的字段不是一个唯一索引。 |
备注
通过将 FieldSchema 传递到 InitializeReplicaMetadata 来首次初始化副本元数据时,必须建立自定义字段。
通过将 IndexSchema 传递到 InitializeReplicaMetadata 来首次初始化副本元数据时,必须建立索引字段,并标记为唯一。
示例
以下示例创建一个索引字段名和值对的列表,并将该列表用作唯一索引以查找元数据存储区中的项:
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 命名空间