AssociationAttribute Class
Identifies the end of an association that is involved in an object relationship.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v19.2.dll
Declaration
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, Inherited = true)]
public sealed class AssociationAttribute :
Attribute
<AttributeUsage(AttributeTargets.Property Or AttributeTargets.Field, Inherited:=True)>
Public NotInheritable Class AssociationAttribute
Inherits Attribute
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = true)]
public sealed class AssociationAttribute :
Attribute
<AttributeUsage(AttributeTargets.Field Or AttributeTargets.Property, Inherited:=True)>
Public NotInheritable Class AssociationAttribute
Inherits Attribute
Apply this attribute to both properties at the ends of the association, specifying an object relationship.
Example
In the following sample code, the Location class might contain several Departments and each Department can in turn span several Locations.
using DevExpress.Xpo;
// ...
public class Location : XPObject {
public string Name {
get { return fName; }
set { SetPropertyValue(nameof(Name), ref fName, value); }
}
string fName;
[Association("Locations-Departments")]
public XPCollection<Department> Departments {
get { return GetCollection<Department>(nameof(Departments)); }
}
}
public class Department : XPObject {
public string Name {
get { return fName; }
set { SetPropertyValue(nameof(Name), ref fName, value); }
}
string fName;
[Association("Locations-Departments")]
public XPCollection<Location> Locations {
get { return GetCollection<Location>(nameof(Locations)); }
}
}
Imports DevExpress.Xpo
' ...
Public Class Location
Inherits XPObject
Public Property Name() As String
Get
Return fName
End Get
Set(ByVal value as String)
SetPropertyValue(NameOf(Name), fName, value)
End Set
End Property
Private fName As String
<Association("Locations-Departments")> _
Public ReadOnly Property Departments() As XPCollection(Of Department)
Get
Return GetCollection(Of Department)(NameOf(Departments))
End Get
End Property
End Class
Public Class Department
Inherits XPObject
Public Property Name() As String
Get
Return fName
End Get
Set(ByVal value as String)
SetPropertyValue(NameOf(Name), fName, value)
End Set
End Property
Private fName As String
<Association("Locations-Departments")> _
Public ReadOnly Property Locations() As XPCollection(Of Location)
Get
Return GetCollection(Of Location)(NameOf(Locations))
End Get
End Property
End Class
See Also