SqlUserDefinedAggregateAttribute 类

定义

指示类型应注册为用户定义的聚合。 该特性的属性反映了向 SQL Server 注册该类型时所使用的实体特性。 此类不能被继承。

public ref class SqlUserDefinedAggregateAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)]
public sealed class SqlUserDefinedAggregateAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)>]
type SqlUserDefinedAggregateAttribute = class
    inherit Attribute
Public NotInheritable Class SqlUserDefinedAggregateAttribute
Inherits Attribute
继承
SqlUserDefinedAggregateAttribute
属性

示例

以下示例演示 SqlUserDefinedAggregateAttribute 用户定义聚合的 属性。 聚合使用自定义序列化,序列化时的最大大小为 8000 字节,并且固定为 null、重复和顺序。

using Microsoft.SqlServer.Server;
using System.IO;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Text;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(
   Microsoft.SqlServer.Server.Format.UserDefined,
   IsInvariantToNulls = true,
   IsInvariantToDuplicates = false,
   IsInvariantToOrder = false,
   MaxByteSize = 8000)
        ]
public class Concatenate : Microsoft.SqlServer.Server.IBinarySerialize
{

    public void Read(BinaryReader r)
    {

    }

    public void Write(BinaryWriter w)
    {

    }
}

注解

SQL Server创建绑定到具有SqlUserDefinedAggregateAttribute自定义属性的类定义的用户定义的聚合。 必须使用此属性注释每个用户定义聚合。

有关用户定义的聚合和示例的详细信息,请参阅 SQL Server 2005 联机丛书中的“CLR User-Defined 聚合”。

构造函数

SqlUserDefinedAggregateAttribute(Format)

用户定义的聚合的一个必需特性,用于指示给定的类型为用户定义的聚合,以及用户定义的聚合的存储格式。

字段

MaxByteSizeValue

在计算期间存储此聚合实例的状态所需的最大大小(以字节为单位)。

属性

Format

序列化格式为 Format 的值之一。

IsInvariantToDuplicates

指示聚合是否与重复值无关。

IsInvariantToNulls

指示聚合是否与空值无关。

IsInvariantToOrder

指示聚合是否与顺序无关。

IsNullIfEmpty

指示在没有对任何值进行累积时聚合是否返回 null

MaxByteSize

聚合实例的最大大小(以字节为单位)。

Name

聚合的名称。

适用于