Condividi tramite


Classe CompositionAttribute

Indica che un membro rappresenta un'associazione appartenente a una gerarchia composizionale.

Spazio dei nomi: System.ComponentModel.DataAnnotations
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)

Utilizzo

'Utilizzo
Dim instance As CompositionAttribute

Sintassi

'Dichiarazione
<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class CompositionAttribute
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true)] 
public sealed class CompositionAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Property|AttributeTargets::Field, AllowMultiple=false, Inherited=true)] 
public ref class CompositionAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) */ 
public final class CompositionAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) 
public final class CompositionAttribute extends Attribute

Esempio

Nell'esempio seguente viene illustrato come definire una relazione composizionale tra SalesOrderHeader e SalesOrderDetail tramite una classe di metadati.

<MetadataTypeAttribute(GetType(SalesOrderHeader.SalesOrderHeaderMetadata))>  _
Partial Public Class SalesOrderHeader
    
    Friend NotInheritable Class SalesOrderHeaderMetadata
        
        Private Sub New()
            MyBase.New
        End Sub
        
        <Include()> _
        <Composition()> _
        Public SalesOrderDetails As EntityCollection(Of SalesOrderDetail)
        
    End Class
End Class
[MetadataTypeAttribute(typeof(SalesOrderHeader.SalesOrderHeaderMetadata))]
public partial class SalesOrderHeader
{
    internal sealed class SalesOrderHeaderMetadata
    {
        private SalesOrderHeaderMetadata()
        {
        }

        [Include]
        [Composition]
        public EntitySet<SalesOrderDetail> SalesOrderDetails;

    }
}

Osservazioni

CompositionAttribute viene applicato a una proprietà che rappresenta un'associazione tra due entità appartenenti concettualmente a una gerarchia, ad esempio un'entità SalesOrderHeader e un'entità SalesOrderDetail. Queste entità correlate sono note come gerarchia composizionale. Dopo avere definito la gerarchia composizionale tra le classi, è possibile eseguire operazioni di modifica dei dati sulle entità come se si trattasse di una sola unità anziché di entità separate. In questo modo, la logica di livello intermedio risulta semplificata perché è possibile scrivere la logica dell'applicazione per l'intera gerarchia anziché suddividerla in ogni entità e coordinare tale logica suddivisa durante le operazioni sui dati. Per ulteriori informazioni, vedere Compositional Hierarchies.

Gerarchia di ereditarietà

System.Object
   System.Attribute
    System.ComponentModel.DataAnnotations.CompositionAttribute

Sicurezza dei thread

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 e Windows 2000

Piattaforme di destinazione

Change History

Vedere anche

Riferimento

Membri CompositionAttribute
Spazio dei nomi System.ComponentModel.DataAnnotations