IBinarySerialize Interface

IBinarySerialize Interface


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

Namespace:   Microsoft.SqlServer.Server
Assembly:  System.Data (in System.Data.dll)

public interface IBinarySerialize


Generates a user-defined type (UDT) or user-defined aggregate from its binary form.


Converts a user-defined type (UDT) or user-defined aggregate into its binary format so that it may be persisted.

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

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

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

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft