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

聚合的名称。

适用于