AssociationAttribute Класс

Определение

Указывает свойство, представляющее связь базы данных, например связь внешнего ключа.

public ref class AssociationAttribute sealed : System::Data::Linq::Mapping::DataAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class AssociationAttribute : System.Data.Linq.Mapping.DataAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type AssociationAttribute = class
    inherit DataAttribute
Public NotInheritable Class AssociationAttribute
Inherits DataAttribute
Наследование
AssociationAttribute
Атрибуты

Примеры

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 )))
        {
            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

Комментарии

Используйте этот атрибут, чтобы представить связь в базе данных, например связь между внешним ключом и первичным ключом.

В следующем примере Order класс содержит AssociationAttribute атрибут для связывания Orders с Клиентами.

Конструкторы

Имя Описание
AssociationAttribute()

Инициализирует новый экземпляр класса AssociationAttribute.

Свойства

Имя Описание
DeleteOnNull

При размещении в ассоциации 1:1, члены внешнего ключа которых не являются null, удаляет объект, если для связи задано значение NULL.

DeleteRule

Возвращает или задает поведение удаления для ассоциации.

IsForeignKey

Возвращает или задает элемент в качестве внешнего ключа в ассоциации, представляющей связь базы данных.

IsUnique

Возвращает или задает указание ограничения уникальности внешнего ключа.

Name

Возвращает или задает имя столбца.

(Унаследовано от DataAttribute)
OtherKey

Возвращает или задает один или несколько членов целевого класса сущности в качестве ключевых значений на другой стороне ассоциации.

Storage

Возвращает или задает частное поле хранилища для хранения значения из столбца.

(Унаследовано от DataAttribute)
ThisKey

Возвращает или задает члены этого класса сущности для представления ключевых значений на этой стороне ассоциации.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к