Compartir a través de


Clase CompositionAttribute

Indica que un miembro representa una asociación que es parte de una jerarquía composicional.

Espacio de nombres: System.ComponentModel.DataAnnotations
Ensamblado: System.ServiceModel.DomainServices.Client (en system.servicemodel.domainservices.client.dll)

Uso

'Uso
Dim instance As CompositionAttribute

Sintaxis

'Declaración
<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

Ejemplo

En el siguiente ejemplo se muestra cómo definir una relación de composición entre SalesOrderHeader y SalesOrderDetail mediante el uso de una clase de metadatos.

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

    }
}

Notas

Se aplica la clase CompositionAttribute a una propiedad que represente una asociación entre dos entidades que forman conceptualmente parte de una jerarquía, como una entidad SalesOrderHeader y una entidad SalesOrderDetail. Estas entidades relacionadas se denominan jerarquía composicional. Tras definir la jerarquía composicional entre las clases, puede realizar operaciones de modificación de datos en las entidades como una unidad única en lugar de como entidades individuales. De esta forma, se simplifica la lógica de nivel medio ya que puede escribir la lógica de la aplicación para la totalidad de la jerarquía en lugar de dividir dicha lógica en cada entidad, e intentar coordinar esa lógica dividida durante las operaciones de datos. Para obtener más información, vea Compositional Hierarchies.

Jerarquía de herencia

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

Seguridad para subprocesos

Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Plataformas

Plataformas de desarrollo

Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000

Plataformas de destino

Change History

Vea también

Referencia

Miembros CompositionAttribute
Espacio de nombres System.ComponentModel.DataAnnotations