基になるデータ プロバイダー技術がわかる前に、クエリやストアドプロシージャーによって必要とされるパラメーターコレクションをインスタンス化できるようにします。
必要なとき(通常は初めてデータバインディングが実行されるとき)に IDbCommand 実装の基になるデータプロバイダー技術に固有の具象 IDbDataParameter 実装に変換できます。これは、このクラスの IConvertible インターフェイスの実装を通じて行われます。
追加のデータベースをサポートする場合は、独自の DataParameterSurrogate サブクラスを派生しなければならないことがあります。
追加のDataParameterSurrogateのサポートを追加するには、サブクラスで IConvertible.ToType メソッドをオーバーライドして、 convertibleType がアプリケーションのデータベースプロバイダー用の.NETデータプロバイダーIDbParameter 実装であるかどうかをチェックすればいいだけです。convertibleType がアプリケーションのデータベースプロバイダーの IDbParameter 実装に一致しない場合は、オーバーライドメソッドでこの基本クラスの IConvertible.ToType の実装を呼び出します。convertibleTypeとアプリケーションのデータベースプロバイダー用の IDbParameter と一致する場合は、 Parameter クラスの新しいインスタンスを作成し、それに対して InitializeAdditionalProperties を呼び出して初期化を行います。
組み込みのサロゲートの代わりにカスタムサロゲートを使用するためには、アプリケーションのカスタム DataParameterSurrogate サブクラスを WebSchedule データプロバイダーに提供する必要があります。そのためには、 WebScheduleDBProviderBase (またはアプリケーションで必要な機能を持つデータベースデータプロバイダー基本クラスの別のサブクラス)をサブクラス化し、その CreateDataParameter ファクトリメソッドをオーバーライドして、データバインディングインフラストラクチャから要求されたときにカスタム DataParameterSurrogate サブクラスの新しいインスタンスを返すようにします。