Opens the memory relationship class specified by the given properties.
[Visual Basic .NET] Public Function Open ( _ ByVal Name As String, _ ByVal originPrimaryClass As IObjectClass, _ ByVal originPrimaryKeyField As String, _ ByVal originForeignClass As IObjectClass, _ ByVal originForeignKeyField As String, _ ByVal ForwardPathLabel As String, _ ByVal BackwardPathLabel As String, _ ByVal Cardinality As esriRelCardinality _ ) As IRelationshipClass
[C#] public IRelationshipClass Open ( string Name, IObjectClass originPrimaryClass, string originPrimaryKeyField, IObjectClass originForeignClass, string originForeignKeyField, string ForwardPathLabel, string BackwardPathLabel, esriRelCardinality Cardinality );
[C++]
HRESULT Open(
BSTR Name,
IObjectClass* originPrimaryClass,
BSTR originPrimaryKeyField,
IObjectClass* originForeignClass,
BSTR originForeignKeyField,
BSTR ForwardPathLabel,
BSTR BackwardPathLabel,
esriRelCardinality Cardinality,
IRelationshipClass** RelationshipClass
);
[C++]Parameters
Name [in] Name is a parameter of type BSTR originPrimaryClass [in]originPrimaryClass is a parameter of type IObjectClass
originPrimaryKeyField [in] originPrimaryKeyField is a parameter of type BSTR originForeignClass [in]originForeignClass is a parameter of type IObjectClass
originForeignKeyField [in] originForeignKeyField is a parameter of type BSTR ForwardPathLabel [in] ForwardPathLabel is a parameter of type BSTR BackwardPathLabel [in] BackwardPathLabel is a parameter of type BSTR Cardinality [in]Cardinality is a parameter of type esriRelCardinality
RelationshipClass [out, retval]RelationshipClass is a parameter of type IRelationshipClass
Product Availability
Remarks
The Open method either creates a new MemoryRelationshipClass or returns a reference to an existing MemoryRelationshipClass if that class has already been created.
When creating a MemoryRelationshipClass, much of the same information that is required for a RelationshipClass in the Geodatabase is needed. However, MemoryRelationshipClasses are always simple and non-attributed so only two tables and two fields need to be specified. The originPrimaryKeyField refers to the field in the originPrimaryClass while the originForeignKeyField refers to the field in the originForeignClass.
Once the MemoryRelationshipClass is created, the
IRelationshipClass interface can be used to find
the tables and fields specified in the Open
method. Here is how the properties from IRelationshipClass are
mapped to the parameters of the Open
method:
IRelationshipClass Property | Open method parameter |
---|---|
DestinationClass | originForeignClass |
OriginClass | originPrimaryClass |
OriginPrimaryKey | originPrimaryKeyField |
OriginForeignKey | originPrimaryKeyField |
ForwardPathLabel | ForwardPathLabel |
BackwardPathLabel | BackwardPathLabel |
Cardinality | Cardinality |
The diagram below describes the associations that define a MemoryRelationshipClass.