Version-to-Version Relationships

Meta Data Services Programming

Meta Data Services Programming

Version-to-Version Relationships

A version-to-version relationship is a relationship that associates a particular version of the origin object with a particular version of the destination object. At run time, the repository object model never presents an individual version-to-version relationship to you. That is, from within a COM or Automation program, you cannot materialize an object corresponding to a version-to-version relationship. Instead, you can materialize an object corresponding to a versioned relationship using the IVersionedRelationship interface or VersionedRelationship object.

After you materialize the versioned relationship, you can select a specific version-to-version relationship by allowing the repository engine to follow a resolution strategy that picks one for you, or by selecting a specific version from a TargetVersions collection.

The following figure shows versioned relationships.

The preceding figure shows two versioned relationships; however, five version-to-version relationships are evident, as shown in the following figure.

In the preceding figure, each line is a version-to-version relationship. The top line indicates that Version 1-of-Bruce is in the TargetVersions collection of the versioned relationship owned by Version 3-of-Main. It also indicates that Version 3-of-Main is in the TargetVersions collection of the versioned relationship owned by Version 1-of-Bruce. The complete TargetVersions collection of the versioned relationship owned by Version 1-of-Bruce might include other items. That is, there might be other version-to-version relationships between Version 1-of-Bruce and individual versions of Main.

The following figure shows that Version 1-of-Bruce has version-to-version relationships to Version 1-of-Main, Version 2-of-Main, and Version 3-of-Main.

The preceding figure shows a total of seven version-to-version relationships.

See Also

IVersionedRelationship Interface

Manipulating Versioned Relationships

Resolution Strategy for Objects and Object Versions

Selecting Items in a Collection

VersionedRelationship Object

Versioning Objects