Provides custom implementation for user-defined type (UDT) and user-defined aggregate serialization and deserialization.

See Also: IBinarySerialize Members


public interface IBinarySerialize


User-defined types (UDTs) and user-defined aggregates are required to define a storage format, which can be either Microsoft.SqlServer.Server.Format.Native or Microsoft.SqlServer.Server.Format.UserDefined.

Microsoft.SqlServer.Server.Format.Native allows SQL Server to handle serialization and deserialization automatically, but the format has restrictions on the kind of types it can handle. Microsoft.SqlServer.Server.Format.UserDefined allows user-defined types and aggregates to handle their own serialization. User-defined types and aggregates must be marked with Microsoft.SqlServer.Server.Format.UserDefined in the SqlUserDefinedType or SqlUserDefinedAggregate attribute, and must implement the Microsoft.SqlServer.Server.IBinarySerialize interface.

Note that even with custom serialization, the total size of each instance must be under the maximum allowed limit, currently 8000 bytes.


Namespace: Microsoft.SqlServer.Server
Assembly: System.Data (in System.Data.dll)
Assembly Versions:
Since: .NET 2.0