DataSource for Entity Framework for WinForms
ビューメンテナンスモード
C1LiveLinq > プログラミングガイド > ビューメンテナンスモード

ライブビューは、さまざまな種類のアプリケーションで使用できます。対話式の GUI アプリケーションでも、バッチ処理形式の非 GUI アプリケーションでも使用できます(「非 GUI コードでライブビューを使用する方法」を参照)。ライブビューは、GUI(対話式)と非 GUI(バッチ)の両方のモードに対して最適化されています。これらのモードを区別し、モードに応じて動作します。GUI では、変更が発生するとすぐにその変更に反応します。この迅速な処理は、ビューを再作成する代わりにインクリメンタルアルゴリズムを使用することで実現されています(「ビューの保守:インクリメンタルビューメンテナンス」を参照)。ただし、ライブビューが、対話式ではないバッチプロセスに常に適しているとは限りません。データ連結を使用する対話式の GUI プログラムでは、ユーザーが画面上で変更を確認する必要があるため、変更へのすばやい反応が求められることが普通です。一方、バッチ処理の場合は、変更の発生後、しばらくたってからビューにアクセスすることも、ビューにまったくアクセスしないこともあります。このため、実際にビューにアクセスする前にプログラムがビューを更新すると、リソースを不必要に消費することになります。デフォルトでは、ライブビューはこの2つのモードを自動的に区別します。ただし、MaintenanceMode プロパティを使用して、プログラマがモードを制御することもできます。Immediate モードは、GUI の場合のデフォルトのモードです。このモードでは、変更のたびにすぐにビューが保守されます。Deferred モードは、非 GUI の場合(ビューにリスナーが接続されていない場合)のデフォルトのモードです。このモードでは、オンデマンドでビューが保守されます。同期が必要になるまで、またはビューにデータが要求されるまで、ビューはベースデータと同期しません。データの要求を受け取ったビューは、ビューが "ダーティ" な非同期状態にあると見なし、自動的に更新(保守)を行って、変更されたベースデータとの同期を開始します。