16.8.6.6 GetCustomObject(OracleUdtFetchOption)
このメソッドは、指定したフェッチ・オプションを使用して、REF
が参照するオブジェクトをカスタム・タイプとして戻します。
宣言
// C#
public object GetCustomObject(OracleUdtFetchOption fetchOption);
パラメータ
-
fetchOption
OracleUdtFetchOption
値。
戻り値
指定したREF
が参照するオブジェクトを表すカスタム・オブジェクト。
例外
InvalidOperationException
- 指定した接続がオープンされていないか、有効なカスタム・タイプが参照オブジェクトのタイプに登録されていません。
備考
このメソッドは、指定した接続でのUDTマッピングにより定義されたカスタム・タイプを戻します。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。
アプリケーションではOracleUdtFetchOption
メソッドを使用して、指定したオプションに従って戻されるオブジェクトのコピーを制御できます。
-
OracleUdtFetchOption
オプションこのオプションが指定され、オブジェクト・キャッシュに参照オブジェクトのコピーがある場合、コピーがただちに戻されます。キャッシュのコピーが存在しない場合、データベース内の参照オブジェクトの最新のコピーが、オブジェクト・キャッシュでキャッシュされ、戻されます。
-
OracleUdtFetchOption.Server
オプションこのオプションが指定されると、データベースから参照したオブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
-
OracleUdtFetchOption.TransactionCache
オプションこのオプションが指定され、参照したオブジェクトのコピーが現行のトランザクションでキャッシュされると、コピーが戻されます。それ以外の場合は、データベースからの参照オブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
参照オブジェクトのキャッシュ済コピーが現行のトランザクションが開始される前に変更された場合、つまり、
OracleRef.HasChanges
プロパティがtrue
を戻す場合、Recent
オプションによって参照オブジェクトのキャッシュ済コピーが戻されることに注意してください。トランザクションの外では、Recent
オプションはAny
オプションと同様の動作をします。