CompositionAttribute 类

指示成员表示一个属于复合层次结构的关联。

命名空间: System.ComponentModel.DataAnnotations
程序集: System.ServiceModel.DomainServices.Client(在 system.servicemodel.domainservices.client.dll 中)

用法

用法
Dim instance As CompositionAttribute

语法

声明
<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

示例

下面的示例演示如何通过使用元数据类来定义 SalesOrderHeaderSalesOrderDetail 之间的复合关系。

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

    }
}

备注

可以将 CompositionAttribute 应用于表示两个实体(如 SalesOrderHeader 实体和 SalesOrderDetail 实体)之间关联的属性,这两个实体在概念上是层次结构的一部分。这些相关实体称为复合层次结构。在定义了类之间的复合层次结构之后,可以将多个实体作为单个单元(而不是多个单独的实体)来针对其执行数据修改操作。这会简化中间层逻辑,因为您可以为整个层次结构编写应用程序逻辑,而不是将该逻辑拆分为每个实体并尝试在数据操作期间协调该拆分逻辑。有关更多信息,请参见Compositional Hierarchies

继承层次结构

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

线程安全

此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。

平台

开发平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目标平台

Change History

另请参见

参考

CompositionAttribute 成员
System.ComponentModel.DataAnnotations 命名空间