AssociationAttribute Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Designates a property to represent a database association, such as a foreign key relationship.

Namespace:   System.Data.Linq.Mapping
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

System.Object
  System.Attribute
    System.Data.Linq.Mapping.DataAttribute
      System.Data.Linq.Mapping.AssociationAttribute

<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field,
	AllowMultiple := False)>
Public NotInheritable Class AssociationAttribute
	Inherits DataAttribute

NameDescription
System_CAPS_pubmethodAssociationAttribute()

Initializes a new instance of the AssociationAttribute class.

NameDescription
System_CAPS_pubpropertyDeleteOnNull

When placed on a 1:1 association whose foreign key members are all non-nullable, deletes the object when the association is set to null.

System_CAPS_pubpropertyDeleteRule

Gets or sets delete behavior for an association.

System_CAPS_pubpropertyIsForeignKey

Gets or sets the member as the foreign key in an association representing a database relationship.

System_CAPS_pubpropertyIsUnique

Gets or sets the indication of a uniqueness constraint on the foreign key.

System_CAPS_pubpropertyName

Gets or sets the name of a column.(Inherited from DataAttribute.)

System_CAPS_pubpropertyOtherKey

Gets or sets one or more members of the target entity class as key values on the other side of the association.

System_CAPS_pubpropertyStorage

Gets or sets a private storage field to hold the value from a column.(Inherited from DataAttribute.)

System_CAPS_pubpropertyThisKey

Gets or sets members of this entity class to represent the key values on this side of the association.

System_CAPS_pubpropertyTypeId

When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)

NameDescription
System_CAPS_pubmethodEquals(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodGetHashCode()

Returns the hash code for this instance.(Inherited from Attribute.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)

System_CAPS_pubmethodMatch(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

Use this attribute to represent an association in a database, such as the relationship between a foreign key and a primary key.

In the following example, the Order class includes an AssociationAttribute attribute to associate Orders with Customers.

Private _Customer As EntityRef(Of Customer)
<Association(Name:="FK_Orders_Customers", Storage:="_Customer", ThisKey:="CustomerID", IsForeignKey:=True)> _
Public Property Customer() As Customer
    Get
        Return Me._Customer.Entity
    End Get
    Set(ByVal value As Customer)
        Dim previousValue As Customer = Me._Customer.Entity
        If (((previousValue Is value) _
           = False) _
           OrElse (Me._Customer.HasLoadedOrAssignedValue = False)) Then
            Me.SendPropertyChanging()
            If ((previousValue Is Nothing) _
               = False) Then
                Me._Customer.Entity = Nothing
                previousValue.Orders.Remove(Me)
            End If
            Me._Customer.Entity = value
            If ((value Is Nothing) _
               = False) Then
                value.Orders.Add(Me)
                Me._CustomerID = value.CustomerID
            Else
                Me._CustomerID = CType(Nothing, String)
            End If
            Me.SendPropertyChanged("Customer")
        End If
    End Set
End Property

.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: