OracleRefインスタンスは、データベース内にある永続的でスタンドアロンの参照可能なオブジェクトを参照するOracle REFを表します。OracleRefオブジェクトは、Oracle REFを挿入、更新および削除するメソッドを提供します。
クラスの継承
System.Object
System.MarshalByRefObject
Oracle.DataAccess.Types.OracleRef
宣言
// C# public sealed class OracleRef : MarshalByRefObject,ICloneable, IDisposable, INullable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
データベース内の同一のOracleオブジェクトを参照する2つ以上のOracleRefオブジェクトが、同一のOracleConnectionを介して取得される場合、参照オブジェクトでの操作を同期化する必要があります。
要件
ネームスペース: Oracle.DataAccess.Types
アセンブリ: Oracle.DataAccess.dll
Microsoft .NET Frameworkバージョン1.0以降
OracleRefメンバーは次の表にリストされています。
OracleRefコンストラクタ
OracleRefコンストラクタを、表14-30に示します。
OracleRef静的フィールド
OracleRef静的メソッドを、表14-31にリストします
OracleRef静的メソッド
OracleRef静的メソッドを、表14-32にリストします。
OracleRefインスタンス・プロパティ
OracleRefインスタンス・プロパティを、表14-33にリストします。
表14-33 OracleRefインスタンス・プロパティ
| プロパティ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Oracle |
|
|
|
|
|
このOracle |
OracleRefインスタンス・メソッド
OracleRefインスタンス・メソッドを、表14-34にリストします。
表14-34 OracleRefインスタンス・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
データベースから参照オブジェクトを削除します |
|
|
|
|
|
|
|
|
データベースへの |
|
|
カスタム・タイプとして指定されたREF参照オブジェクトを戻します(オーバーロード) |
|
|
カスタム・タイプとして指定されたREF参照オブジェクトを戻します(オーバーロード) |
|
|
|
|
|
|
|
|
2つの |
|
|
データベースの |
|
|
|
|
|
指定カスタム・オブジェクトを使用して、データベースの指定された |
OracleRefコンストラクタでは、OracleRefクラスの新規インスタンスをインスタンス化します。
オーバーロード・リスト:
OracleRef(OracleConnection, string)
このコンストラクタでは、データベースのREFインスタンスを表す接続文字列および16進文字列を使用してOracleRefクラスのインスタンスを作成します。
OracleRef(OracleConnection, string, string)
このコンストラクタでは、指定したOracleConnectionオブジェクト、ユーザー定義のタイプ名およびオブジェクト表名を使用してOracleRefクラスのインスタンスを作成します
このコンストラクタでは、データベースのREFインスタンスを表す接続文字列および16進文字列を使用してOracleRefクラスのインスタンスを作成します。
宣言
// C# public OracleRef(OracleConnection con, string hexStr);
パラメータ
con
OracleConnectionインスタンス。
hexStr
データベース内のREFインスタンスを表す16進文字列。
例外
ArgumentException: 16進文字列がデータベース内の有効なREFを表しません。
ArgumentNullException: 接続文字列または16進文字列はNULLです。
InvalidOperationException: OracleConnectionオブジェクトがオープンされていません
備考
OracleRefインスタンスが作成されると、データベース内の特定の表を参照します。
接続は、アプリケーションによって明示的にオープンされる必要があります。OracleRefでは、接続を暗黙的にオープンしません。
このコンストラクタでは、指定したOracleConnectionオブジェクト、ユーザー定義のタイプ名およびオブジェクト表名を使用してOracleRefクラスのインスタンスを作成します。
宣言
// C# public OracleRef(OracleConnection con, string udtTypeName, string objTabName);
パラメータ
con
OracleConnectionインスタンス。
udtTypeName
ユーザー定義のタイプ名。
objTabName
オブジェクト表名。
例外
ArgumentException: オブジェクト・タイプ名およびオブジェクト表名が無効です。
ArgumentNullException: オブジェクト・タイプ名およびオブジェクト表名がNULLです。
InvalidOperationException: OracleConnectionオブジェクトがオープンされていません
備考
OracleRefインスタンスが作成されると、このOracleRefインスタンスは、データベース内の特定の表に関連付けられます。つまり、永続的なREFを表します。
このコンストラクタはオブジェクト表への参照を作成します。ただし、オブジェクトがデータベースにフラッシュされないかぎり、つまり、OracleRef.FlushまたはOracleConnection.FlushCacheメソッドがOracleRef接続でコールされないかぎり、データベース表にエントリは作成されません。このため、データベースからオブジェクトの最新のコピーのロックまたはフェッチなど、オブジェクトをフラッシュする前にオブジェクトのデータベース・コピーで操作しようとするとOracleExceptionとなります。
接続は、アプリケーションによって明示的にオープンされる必要があります。OracleRefでは、接続を暗黙的にオープンしません。
OracleRef静的フィールドを、表14-35にリストします。
この静的フィールドは、OracleRefインスタンスに割り当てることができるNULL値を表します。
宣言
// C# public static readonly OracleRef Null;
OracleRef静的メソッドを、表14-36にリストします。
OracleRefインスタンス・プロパティを、表14-37にリストします。
表14-37 OracleRefインスタンス・プロパティ
| プロパティ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Oracle |
|
|
|
|
|
このOracle |
このインスタンス・プロパティは、OracleRefで使用される接続を参照します。
宣言
// C#
public OracleConnection Connection{get;}
プロパティ値
REFに関連したOracleConnectionオブジェクト。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
Disposeメソッドが呼び出されると、このプロパティはnullに設定されます。
このインスタンス・プロパティは、オブジェクト・キャッシュでOracle REFが参照するオブジェクト内にデータベースにフラッシュされる変更があるかどうかを示します。
宣言
// C#
public bool HasChanges {get;}
プロパティ値
オブジェクト・キャッシュでOracle REFが参照するオブジェクトにデータベースにフラッシュされる変更がある場合、trueを戻します。それ以外の場合は、falseを戻します。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
このプロパティは、オブジェクト・キャッシュ内の参照オブジェクトのコピーが更新または削除された場合、trueを戻します。
オブジェクト・キャッシュ内の参照オブジェクトのコピーがない場合、データベース内の参照オブジェクトの最新のコピーが、オブジェクト・キャッシュでキャッシュされ、falseが戻されます。
このインスタンス・プロパティは、REFがロックされるかどうかを示します。
宣言
// C#
public bool IsLocked {get;}
プロパティ値
REFがロックされる場合、trueを戻します。それ以外の場合、falseを戻します。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
このインスタンス・プロパティは、Oracle REFがNULLかどうかを示します。
宣言
// C#
public bool IsNull {get;}
プロパティ値
REFがNULLの場合、trueを戻します。それ以外の場合、falseを戻します。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
Oracle REFがNULLの場合、このプロパティはtrueを戻します。それ以外の場合、falseを戻します。
このインスタンス・プロパティでは、REFに関連付けられた完全修飾のオブジェクト表名を戻します。
宣言
// C#
public string ObjectTableName{get;}
プロパティ値
REFに関連付けられた完全修飾のオブジェクト表名。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
オブジェクト表名の形式は、schema_Name.Table_Nameです。
このインスタンス・プロパティは、このOracle REFの.NET表現を戻します。
宣言
// C#
public string Value{get;}
プロパティ値
Oracle REFの.NET表現。
例外
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
このプロパティは、REFを表す16進文字列を戻します。
戻された文字列でOracleRef(OracleConnection,string)コンストラクタを使用して、新規OracleRefインスタンスを作成できます。
OracleRefインスタンス・メソッドを、表14-38にリストします。
表14-38 OracleRefインスタンス・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
データベースから参照オブジェクトを削除します |
|
|
|
|
|
|
|
|
データベースへの |
|
|
カスタム・タイプとして指定されたREF参照オブジェクトを戻します(オーバーロード) |
|
|
カスタム・タイプとして指定されたREF参照オブジェクトを戻します(オーバーロード) |
|
|
|
|
|
|
|
|
2つの |
|
|
データベースの |
|
|
|
|
|
指定カスタム・オブジェクトを使用して、データベースの指定された |
このインスタンス・メソッドはREFを複製します。
宣言
// C# public OracleRef Clone();
戻り値
現在のインスタンスの複製。
実装
ICloneable
例外
InvalidOperationException: 関連する接続がオープンされていません。
このメソッドは、データベースから参照オブジェクトを削除します。
宣言
// C#
public void Delete(bool bFlush);
パラメータ
bFlush
ただちにREFをフラッシュするかどうか指定するbool。
備考
このメソッドは、削除する指定済REFをマークします。
bFlushの値をtrueまたはfalseに設定すると、次のようになります。
True
指定したREFが参照するオブジェクトは、データベースからただちに削除されます。
オブジェクトをフラッシュする前に、アプリケーションはOracleConnectionオブジェクト上でBeginTransactionメソッドを実行して明示的にトランザクションを開始する必要があります。これは、フラッシュされるオブジェクトがアプリケーションによりロックされていない場合は、オブジェクトに対して暗黙的に排他的ロックが取得されるためです。ロックが解除されるのは、トランザクションがコミットまたはロールバックする場合にかぎります。
False
後続のFlushメソッドが指定されたREFに対して呼び出される場合や、FlushCacheメソッドがOracleRefで呼び出される場合、またはFlushCacheメソッドがOracleRef接続で呼び出される場合にかぎり、REFが参照するオブジェクトはデータベースからただちに削除されません。
このインスタンス・メソッドは、OracleRefインスタンスに割り当てられたリソースを解放します。
宣言
// C# public void Dispose();
実装
IDisposable
備考
オブジェクトは、処理後は再度使用できません。アクセスできるプロパティはありますが、それらの値は最新ではない可能性があります。
このインスタンス・メソッドは、データベースのREFオブジェクトで行った更新または削除などの変更をフラッシュします。
宣言
// C# public void Flush();
例外
InvalidOperationException: 関連する接続がオープンされていません。
備考
オブジェクトをフラッシュする前に、アプリケーションはOracleConnectionオブジェクト上でBeginTransactionメソッドを実行して明示的にトランザクションを開始する必要があります。これは、フラッシュされるオブジェクトがアプリケーションによりロックされていない場合は、オブジェクトに対して暗黙的に排他的ロックが取得されるためです。ロックが解除されるのは、トランザクションがコミットまたはロールバックする場合にかぎります。
GetCustomObjectメソッドは、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
オーバーロード・リスト
GetCustomObject(OracleUdtFetchOption)
このメソッドは、指定したフェッチ・オプションを使用して、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
GetCustomObject(OracleUdtFetchOption, int)
このメソッドは、指定したフェッチ・オプションおよび深さレベルを使用して、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
このメソッドは、指定したフェッチ・オプションを使用して、REFが参照するオブジェクトをカスタム・タイプとして戻します。
宣言
// C#
public object GetCustomObject(OracleUdtFetchOption fetchOption);
パラメータ
fetchOption
OracleUdtFetchOption値。
戻り値
指定したREFが参照するオブジェクトを表すカスタム・オブジェクト。
例外
InvalidOperationException: 指定した接続がオープンされていないか、有効なカスタム・タイプが参照オブジェクトのタイプに登録されていません。
備考
このメソッドは、指定した接続でのUDTマッピングにより定義されたカスタム・タイプを戻します。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。
アプリケーションではOracleUdtFetchOptionメソッドを使用して、指定したオプションに従って戻されるオブジェクトのコピーを制御できます。
OracleUdtFetchOption.Cacheオプション
このオプションが指定され、オブジェクト・キャッシュに参照オブジェクトのコピーがある場合、コピーがただちに戻されます。キャッシュのコピーが存在しない場合、データベース内の参照オブジェクトの最新のコピーが、オブジェクト・キャッシュでキャッシュされ、戻されます。
OracleUdtFetchOption.Serverオプション
このオプションが指定されると、データベースから参照したオブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
OracleUdtFetchOption.TransactionCacheオプション
このオプションが指定され、参照したオブジェクトのコピーが現行のトランザクションでキャッシュされると、コピーが戻されます。それ以外の場合は、データベースから参照したオブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
参照オブジェクトのキャッシュ済コピーが現行のトランザクションが開始される前に変更された場合、つまり、OracleRef.HasChangesプロパティがtrueを戻す場合、Recentオプションによって参照オブジェクトのキャッシュ済コピーが戻されることに注意してください。トランザクションの外では、RecentオプションはAnyオプションと同様の動作をします。
このメソッドは、指定したフェッチ・オプションおよび深さレベルを使用して、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
宣言
// C#
public object GetCustomObject(OracleUdtFetchOption fetchOption, int depthLevel);
パラメータ
fetchOption
OracleUdtFetchOption値。
depthLevel
ネストされたREF属性にフェッチされるレベルの数。
戻り値
指定したREFが参照するオブジェクトを表すカスタム・オブジェクト。
例外
InvalidOperationException: 指定した接続がオープンされていないか、有効なカスタム・タイプが参照オブジェクトのタイプに登録されていません。
備考
このメソッドは、指定した接続でのUDTマッピングにより定義されたカスタム・タイプを戻します。
REFが参照するオブジェクトに、ネストされたREF属性が含まれる場合、depthLevelを指定して後続のオブジェクトの取得を最適化できます。depthLevelの値によって最適化されるレベルの数が定義されます。
たとえば、depthLevelを2に指定する場合、最適化は、フェッチされるオブジェクト内のすべてのネストされた最上位レベルのREF属性に適用され、また、すべてのネストされた最上位レベルのREF属性が参照するオブジェクト内のすべてのネストされたREF属性にも適用されます。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。
アプリケーションではOracleUdtFetchOptionメソッドを使用して、指定したオプションに従って戻されるオブジェクトのコピーを制御できます。
OracleUdtFetchOption.Cacheオプション
このオプションが指定され、オブジェクト・キャッシュに参照オブジェクトのコピーがある場合、コピーがただちに戻されます。キャッシュのコピーが存在しない場合、データベース内の参照オブジェクトの最新のコピーが、オブジェクト・キャッシュでキャッシュされ、戻されます。
OracleUdtFetchOption.Serverオプション
このオプションが指定されると、データベースから参照したオブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
OracleUdtFetchOption.TransactionCacheオプション
このオプションが指定され、参照したオブジェクトのコピーが現行のトランザクションでキャッシュされると、コピーが戻されます。それ以外の場合は、データベースから参照したオブジェクトの最新のコピーは、オブジェクト・キャッシュでキャッシュされ、戻されます。キャッシュに参照オブジェクトのコピーがすでに存在する場合、最新のコピーは既存のコピーを上書きします。
参照オブジェクトのキャッシュ済コピーが現行のトランザクションが開始される前に変更された場合、つまり、OracleRef.HasChangesプロパティがtrueを戻す場合、Recentオプションによって参照オブジェクトのキャッシュ済コピーが戻されることに注意してください。トランザクションの外では、RecentオプションはAnyオプションと同様の動作をします。
GetCustomObjectForUpdateメソッドは、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
GetCustomObjectForUpdate(bool)
このメソッドは、データベース内で指定したREFをロックし、指定したwaitオプションを使用して、カスタム・タイプとして指定したREFを参照するオブジェクトを戻します。
GetCustomObjectForUpdate(bool, int)
このメソッドは、データベース内で指定したREFをロックし、指定したwaitオプションおよび深さレベルを使用して、カスタム・タイプとして指定したREFを参照するオブジェクトを戻します。
このメソッドは、データベース内で指定したREFをロックし、指定したwaitオプションを使用して、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します。
宣言
// C#
public object GetCustomObjectForUpdate(bool bWait);
パラメータ
bWait
REFがno-waitオプションでロックされるかどうかを指定します。waitがtrueに設定される場合は、REFがロックされるまでこのメソッドが起動されても値は戻されません。
戻り値
指定したREFが参照するオブジェクトを表すカスタム・オブジェクト。
例外
InvalidOperationException: 指定した接続がオープンされていないか、有効なカスタム・タイプが参照オブジェクトのタイプに登録されていません。
OracleException: bWaitがfalseに設定されており、ロックを取得できません。
備考
このメソッドは、OracleRef接続で登録したカスタム・タイプで定義した参照オブジェクトの最新のコピーをカスタム・タイプとして戻します。
OracleRefのFlushまたはOracleConnectionのFlushCacheメソッドを使用してREFをフラッシュした後、REFで適切にロックを解除するには、アプリケーションはトランザクションをコミットまたはロールバックする必要があります。このため、このメソッドを呼び出す前に、OracleConnectionオブジェクトでBeginTransactionメソッドを実行して、明示的にトランザクションを開始する必要があります。
このメソッドはネットワーク・ラウンドトリップを作成してデータベース内のREFをロックします。このコールの後、プログラマは関連付けられた行オブジェクトを排他的に変更できます。その後で、OracleRefのFlushメソッドまたはOracleConnectionのFlushCacheメソッドへのコールを実行すると、データベースへの変更がフラッシュされます。
trueが渡されると、このメソッドはロックが取得されるまでブロックされます。falseが渡される場合は、このメソッドはただちに値を戻します。ロックが取得できない場合は、OracleExceptionがスローされます。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。
このメソッドは、データベース内で指定したREFをロックし、指定したwaitオプションおよび深さレベルを使用して、カスタム・タイプとして指定したREFが参照するオブジェクトを戻します
宣言
public object GetCustomObjectForUpdate(bool bWait, int depthlevel);
パラメータ
bWait
no-waitオプションでREFがロックされるかどうかを指定するブール値。waitがtrueに設定されている場合、このメソッドを起動しても、REFがロックされるまで値は戻りません。
depthLevel
ネストされたREF属性にフェッチされるレベルの数。
戻り値
指定したREFが参照するオブジェクトを表すカスタム・オブジェクト。
例外
InvalidOperationException: 指定した接続がオープンされていないか、有効なカスタム・タイプが参照オブジェクトのタイプに登録されていません。
OracleException: bWaitがfalseに設定されており、ロックを取得できません。
備考
このメソッドは、OracleRef接続で登録したカスタム・タイプで定義した参照オブジェクトの最新のコピーをカスタム・タイプとして戻します。
OracleRefのFlushまたはOracleConnectionのFlushCacheメソッドを使用してREFをフラッシュした後、REFで適切にロックを解除するには、アプリケーションはトランザクションをコミットまたはロールバックする必要があります。このため、このメソッドを呼び出す前に、OracleConnectionオブジェクトでBeginTransactionメソッドを実行して、明示的にトランザクションを開始する必要があります。
このメソッドはネットワーク・ラウンドトリップを作成してデータベース内のREFをロックします。このコールの後、プログラマは関連付けられた行オブジェクトを排他的に変更できます。その後で、OracleRefのFlushメソッドまたはOracleConnectionのFlushCacheメソッドへのコールを実行すると、データベースへの変更がフラッシュされます。
trueが渡されると、このメソッドはロックが取得されるまでブロックされます。falseが渡される場合は、このメソッドはただちに値を戻します。ロックが取得できない場合は、OracleExceptionがスローされます。
REFが参照するオブジェクトに、ネストされたREF属性が含まれる場合、depthLevelを指定して後続のオブジェクトの取得を最適化できます。depthLevelの値によって最適化されるレベルの数が定義されます。
たとえば、depthLevelを2に指定する場合、最適化は、フェッチされるオブジェクト内のすべてのネストされた最上位レベルのREF属性に適用され、また、すべてのネストされた最上位レベルのREF属性が参照するオブジェクト内のすべてのネストされたREF属性にも適用されます。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。
このインスタンス・メソッドは、2つのOracleREFオブジェクトを比較します。
宣言
// C#
public bool IsEqual(OracleRef oraRef);
パラメータ
oraRef
指定されたOracleRefオブジェクト。
戻り値
bool
備考
OracleRefインスタンスおよびOracleRefパラメータの両方が同じオブジェクトを参照する場合、このインスタンス・メソッドは、trueを戻します。それ以外の場合、falseを戻します。
このインスタンス・メソッドは、データベース内のREFをロックします。
宣言
// C#
public bool Lock(bool bWait);
パラメータ
bWait
ロックがno-waitオプションに設定されるかどうかを指定します。bWaitがtrueに設定されている場合、このメソッドを呼び出してもREFがロックされるまで値は戻りません。
戻り値
ロックが取得されているかどうかを示すブール値。
例外
InvalidOperationException: 関連する接続がオープンされていません。
ObjectDisposedException: オブジェクトはすでに処理されています。
備考
OracleRefのFlush起動またはFlushCacheメソッドの後に、アプリケーションで適切にREFのロックを解除するには、アプリケーションがトランザクションをコミットまたはロールバックする必要があります。このため、OracleRefオブジェクトのロックを起動する前に、OracleConnectionオブジェクトのBeginTransactionメソッドを明示的に実行する必要があります。
このインスタンス・メソッドは、ネットワーク・ラウンドトリップを作成して、データベース内のREFをロックします。このコールの後、プログラマは、関連した行オブジェクトの属性値を排他的に変更できます。OracleRefのFlushインスタンス・メソッドまたはOracleConnectionのFlushCacheメソッドへのコールにより、データベースへの変更がフラッシュされます。
trueが渡されると、ロックが取得されるまでこのメソッドはブロックされ、値を戻しません。結果として、戻り値は常にtrueになります。
falseが渡される場合には、このメソッドはただちに値を戻します。ロックが取得されると戻り値はtrueを示し、ロックが取得されない場合は、戻り値はfalseを示します。
このメソッドは、指定したカスタム・オブジェクトを使用して、データベース内で指定したREFが参照するオブジェクトを更新します。
宣言
// C# public void Update(object customObject, bool bFlush);
パラメータ
customObject
参照オブジェクトの更新に使用されるカスタム・オブジェクト。
bFlush
変更をただちにフラッシュする必要がある場合に指定するブール値。bFlushがtrueに設定されている場合、このメソッドの起動により変更はだたちにフラッシュされます。
例外
InvalidOperationException: 指定した接続がオープンされていないか、カスタム・オブジェクトが参照オブジェクトのタイプにマップされません。
備考
このメソッドは、更新に指定したREFをマークします。bFlushの値がtrueまたはfalseに設定されると、次のようになります。
True
指定したREFが参照するオブジェクトは、データベース内でただちに更新されます。
オブジェクトをフラッシュする前に、アプリケーションはOracleConnectionオブジェクト上でBeginTransactionメソッドを実行して明示的にトランザクションを開始する必要があります。これは、フラッシュされるオブジェクトがアプリケーションによりロックされていない場合は、オブジェクトに対して暗黙的に排他的ロックが取得されるためです。ロックが解除されるのは、トランザクションがコミットまたはロールバックする場合にかぎります。
False
後続のFlushメソッドが指定されたREFに対して呼び出される場合、またはFlushCacheメソッドが指定された接続に対して呼び出される場合にかぎり、REFが参照するオブジェクトは、データベース内でただちに更新されません。
接続は、アプリケーションによって明示的にオープンされる必要があります。このメソッドでは、接続を暗黙的にオープンしません。