ReplicaMetadata.CreateItemMetadata 方法

在派生类中重写时,创建可用于向元数据存储区添加新项元数据条目的新项元数据对象。

命名空间: Microsoft.Synchronization.MetadataStorage
程序集: Microsoft.Synchronization.MetadataStorage(在 microsoft.synchronization.metadatastorage.dll 中)

语法

声明
Public MustOverride Function CreateItemMetadata ( _
    globalId As SyncId, _
    creationVersion As SyncVersion _
) As ItemMetadata
用法
Dim instance As ReplicaMetadata
Dim globalId As SyncId
Dim creationVersion As SyncVersion
Dim returnValue As ItemMetadata

returnValue = instance.CreateItemMetadata(globalId, creationVersion)
public abstract ItemMetadata CreateItemMetadata (
    SyncId globalId,
    SyncVersion creationVersion
)
public:
virtual ItemMetadata^ CreateItemMetadata (
    SyncId^ globalId, 
    SyncVersion^ creationVersion
) abstract
public abstract ItemMetadata CreateItemMetadata (
    SyncId globalId, 
    SyncVersion creationVersion
)
public abstract function CreateItemMetadata (
    globalId : SyncId, 
    creationVersion : SyncVersion
) : ItemMetadata

参数

  • globalId
    要创建的项的全局 ID。该全局 ID 必须是唯一的。
  • creationVersion
    与此项关联的创建版本。

返回值

新创建的项元数据对象。

异常

异常类型 条件

ObjectDisposedException

对象已释放或未正确初始化。

ArgumentNullException

globalId 或 creationVersion 为 null 引用(在 Visual Basic 中为 Nothing)。

OutOfMemoryException

内存不足,无法创建项元数据。

SyncIdFormatMismatchException

globalId 的格式与初始化副本元数据时所指定的格式不匹配。

备注

只有在调用 SaveItemMetadata 之后,才会将此项元数据保存到元数据存储区中。

示例

以下示例创建项的元数据,为项中的每个变更单位设置变更单位版本,并为项的索引字段设置自定义字段值。

private ItemMetadata CreateContactMetadata(Contact contact, SyncId itemId, SyncVersion creationVersion,
    SyncVersion changeVersion)
{
    // Create the item by using the metadata storage service.
    ItemMetadata itemMeta = _ContactReplicaMetadata.CreateItemMetadata(itemId, creationVersion);

    // Set the version information for each change unit.
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.NameCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.PhoneCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.AddressCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.BirthdateCU), changeVersion);

    // A unique index is defined for the combination of first name, last name, and phone number in order
    // to map between the item ID and the contact.
    // Set the field values for the index fields.
    itemMeta.SetCustomField(FirstNameField, contact.FirstName);
    itemMeta.SetCustomField(LastNameField, contact.LastName);
    itemMeta.SetCustomField(PhoneNumberField, contact.PhoneNumber);

    return itemMeta;
}

请参阅

参考

ReplicaMetadata 类
ReplicaMetadata 成员
Microsoft.Synchronization.MetadataStorage 命名空间