Partager via


Classe CompositionAttribute

Indique qu'un membre représente une association qui fait partie d'une hiérarchie de composition.

Espace de noms: System.ComponentModel.DataAnnotations
Assembly : System.ServiceModel.DomainServices.Client (dans system.servicemodel.domainservices.client.dll)

Utilisation

'Utilisation
Dim instance As CompositionAttribute

Syntaxe

'Déclaration
<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

Exemple

L'exemple suivant indique comment définir une relation de composition entre SalesOrderHeader et SalesOrderDetail à l'aide d'une classe de métadonnées.

<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;

    }
}

Notes

Vous appliquez CompositionAttribute à une propriété qui représente une association entre deux entités qui font conceptuellement partie d'une hiérarchie, telle qu'une entité SalesOrderHeader et une entité SalesOrderDetail. Ces entités associées sont appelées hiérarchie de composition. Après avoir défini la hiérarchie de composition entre les classes, vous pouvez exécuter des opérations de modification de données sur les entités en tant qu'unité unique et non en tant qu'entités distinctes. Cela simplifie la logique de couche intermédiaire car vous pouvez écrire la logique d'application pour l'intégralité de la hiérarchie plutôt que de fractionner cette logique dans chaque entité et essayer de coordonner cette logique fractionnée durant les opérations de données. Pour plus d'informations, consultez Compositional Hierarchies.

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Plateformes de développement

Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000

Plateformes cibles

Change History

Voir aussi

Référence

Membres CompositionAttribute
Espace de noms System.ComponentModel.DataAnnotations