バージョン

Fetch メソッド (WebScheduleDbProvider)

設定されているデータ バインディングと基になるデータ ストア技術を使用して、データモデルから WebSchedule オブジェクトをフェッチします。
シンタックス
'宣言
 
Public Overridable Sub Fetch( _
   ByVal context As DataContext _
) 
public virtual void Fetch( 
   DataContext context
)

パラメータ

context
実行するデータ バインディングと操作を記述する DataContext
例外
例外解説
System.ArgumentExceptioncontext がサポートされている操作でない場合にスローされます。有効な Operation は、"FetchResource"、"FetchResources"、"FetchActivities"、"FetchReminders"のいずれかです。
System.ArgumentNullException指定した context がnull(Visual Basic .NETではNothing)の場合にスローされます。
解説

このメソッドは、IDataFetchインターフェイスのFetchメソッドを実装します。WebScheduleInfo はこのインターフェイスを使用して、データバインド時にWebScheduleデータモデルのアクティビティとリソースをコレクションに格納します。このメソッドは、スケジュール管理アプリケーションから直接呼び出さないでください。

Fetchの基本クラス実装は次の操作を処理します。

  1. 特定のリソースのフレーム期間(日付範囲)内のアクティビティを取得します。
  2. 特定のリソースがログオンしているときに、そのリソースのアラームを(開始時刻までの時間間隔に基づいて)トリガーするアクティビティを取得します。
  3. 現在アクティビティを編成している単一リソースを取得します。
  4. アクティビティを編成して所有できるリソースを取得します。

継承クラスで独自のカスタムデータプロバイダーを作成している場合は、 Fetchをオーバーライドして、追加の操作、異なるリレーショナルデータベース管理システムでの現行の操作、およびデータバインディングをサポートする必要があります( たとえば、WebScheduleデータモデルがスケジュール管理アプリケーションから永続化できる型の数を増やすなど)。WebScheduleDbProvider を拡張してカスタムデータプロバイダーを作成する場合の詳細については、ヘルプドキュメントを参照してください。

WebScheduleDbProvider (追加の操作またはデータバインディング)を拡張する場合は、最初に context をチェックして、それが拡張した DataContext のいずれかと一致するかどうかを確認します。 一致する場合は、サブクラス側でそのコンテキストを、該当する操作と ScheduleDataBinding サブクラスを処理するためにサブクラスに実装されているメソッドにディスパッチします。ディスパッチした場合、サブクラスがそれをメソッドへディスパッチして操作および ScheduleDataBinding サブクラス、またはそのどちらかを処理するために実装します。コンテキストは、認識される操作と一致しない場合は、Fetchの基本実装を呼び出して、適切なディスパッチとエラー処理を行います。

新しいリレーショナルデータベース管理システム(またはその他の基になるデータソース)のサポートを追加するとき、標準操作(つまり、 "FetchActivities"や"AddActivity"など)に関するメソッドの実装はそのデータ技術と互換性がない場合があります。その場合は、サブクラスでオーバーライドした Fetch の実装で標準操作を処理し、新しいデータプラットフォームをサポートする独自のメソッドにディスパッチする必要があります。

参照