Data Access has been discontinued. Please refer to this page for more information.


The MetaForeignKeyAssociation class represents a foreign key association in the Telerik Data Access metadata model. It derives from the MetaAssociation class. The MetaForeignKeyAssociation class describes one-to-many associations between two classes and gives the following information:

  • Constraint - gets the MetaConstraint applied to the current association. If no constraint is applied, null is returned.
  • HasDiscriminatorColumn - gets whether the association requires a discriminator column. If the corresponding end in the association is represented by a type stored in a table that is polymorphic (contains multiple types)in the data store.
  • DiscriminatorColumn - gets the discriminator column for this association if it requires a discriminator column.

The following example shows you how to access all one-to-many associations from your model:

private string GetMetaForeignKeyAssociations(Telerik.OpenAccess.Metadata
    .MetadataContainer container)
   StringBuilder sb = new StringBuilder();
   foreach (MetaAssociation metaAssociation in container.Associations)
       sb.AppendFormat("\nType: {0}", metaAssociation.AssociationType);
       MetaForeignKeyAssociation oneToMany = metaAssociation as MetaForeignKeyAssociation;
       if(oneToMany == null )
       sb.AppendFormat("\n\tSource: {0}", oneToMany.Source.Name);
       sb.AppendFormat("\n\tTarget: {0}", oneToMany.Target.Name);
   return sb.ToString();
Private Function GetMetaForeignKeyAssociations(ByVal container As  _
    Telerik.OpenAccess.Metadata.MetadataContainer) As String
 Dim sb As New StringBuilder()
 For Each _metaAssociation As MetaAssociation In container.Associations
  sb.AppendFormat(vbLf & "Type: {0}", _metaAssociation.AssociationType)
  Dim oneToMany As MetaForeignKeyAssociation = _
      TryCast(_metaAssociation, MetaForeignKeyAssociation)
  If oneToMany Is Nothing Then
   Continue For
  End If
  sb.AppendFormat(vbLf & vbTab & "Source: {0}", oneToMany.Source.Name)
  sb.AppendFormat(vbLf & vbTab & "Target: {0}", oneToMany.Target.Name)
 Next _metaAssociation
 Return sb.ToString()
End Function