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