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 | AttributeTargets.Field, 
	AllowMultiple = false)]
public sealed class AssociationAttribute : 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 EntityRef<Customer> _Customer;
// ...
[Association(Name="FK_Orders_Customers", Storage="_Customer", ThisKey="CustomerID", IsForeignKey=true)]
public Customer Customer
{
	get
	{
		return this._Customer.Entity;
	}
	set
	{
		Customer previousValue = this._Customer.Entity;
		if (((previousValue != value) 
					|| (this._Customer.HasLoadedOrAssignedValue == false)))
		{
			this.SendPropertyChanging();
			if ((previousValue != null))
			{
				this._Customer.Entity = null;
				previousValue.Orders.Remove(this);
			}
			this._Customer.Entity = value;
			if ((value != null))
			{
				value.Orders.Add(this);
				this._CustomerID = value.CustomerID;
			}
			else
			{
				this._CustomerID = default(string);
			}
			this.SendPropertyChanged("Customer");
		}
	}
}

.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: