As the least common denominator, the DbType enumeration does not expose the same variety of data types that some PrvDbType enumerations may support. Further support for additional data types creates dependencies on specific data providers (examples include BLOBs or binary large objects, Memo fields, and native XML column types), and dilutes the generality of the base class. The DataParameterSurrogate cannot support automatic conversion to these provider-specific data types.
This limitation can be overcome by deriving a more specialized DataParameterSurrogate with additional properties to allow greater selectivity in mapping data types to the target database. Inheritors overriding IConvertible.ToType have complete control over the mapping of the DbType in concert with other properties their subclass may add, to data types in their provider's PrvDbType enumeration.
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2