英語で読む

次の方法で共有


SqlUserDefinedAggregateAttribute クラス

定義

型をユーザー定義集計として登録する必要があることを示します。 この属性には、型を SQL Server に登録する際に使用される物理的な属性を反映した、いくつかのプロパティが格納されます。 このクラスは継承できません。

C#
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)]
public sealed class SqlUserDefinedAggregateAttribute : Attribute
継承
SqlUserDefinedAggregateAttribute
属性

次の例は、 SqlUserDefinedAggregateAttribute ユーザー定義集計の 属性を示しています。 集計ではカスタム シリアル化が使用され、シリアル化時の最大サイズは 8,000 バイトで、null、重複、順序には不変です。

C#
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

集計が null に対して不変かどうかを示します。

IsInvariantToOrder

集計が順序に対して不変かどうかを示します。

IsNullIfEmpty

集計で値が累積されていなかった場合に null を返すかどうかを示します。

MaxByteSize

集計インスタンスの最大サイズ (バイト)。

Name

集計の名前。

適用対象

製品 バージョン
SqlClient .NET Core 1.0, 1.1, 2.0, 2.1, 3.0, 3.1, 4.0, 4.1
SqlClient .NET Framework 1.0, 1.1, 2.0, 2.1, 3.0, 3.1, 4.0, 4.1
SqlClient .NET Standard 1.0, 1.1, 2.0, 2.1, 3.0, 3.1, 4.0, 4.1