AssociationAttribute
Class
Definition
Designates a property to represent a database association, such as a foreign key relationship.
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Field, AllowMultiple=false)]
public sealed class AssociationAttribute : System.Data.Linq.Mapping.DataAttribute
- Inheritance
- Attributes
Inherited Members
System.Attribute
System.Data.Linq.Mapping.DataAttribute
System.Object
Examples
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");
}
}
}
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
Remarks
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.
Constructors
| AssociationAttribute() |
Initializes a new instance of the AssociationAttribute class. |
Properties
| DeleteOnNull |
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. |
| DeleteRule |
Gets or sets delete behavior for an association. |
| IsForeignKey |
Gets or sets the member as the foreign key in an association representing a database relationship. |
| IsUnique |
Gets or sets the indication of a uniqueness constraint on the foreign key. |
| OtherKey |
Gets or sets one or more members of the target entity class as key values on the other side of the association. |
| ThisKey |
Gets or sets members of this entity class to represent the key values on this side of the association. |