DataSource for Entity Framework for WPF/Silverlight
ライブビュー
DataSource for Entity Framework > ライブビュー

クライアントビューはライブです。クライアントビューは、データの変化に伴って自動的に最新の状態を維持します。ただし、ライブビュー機能はさらに汎用的です。ライブビュー(View <T> クラスのオブジェクト。ClientView の派生元)は、エンティティだけでなく、任意の種類のデータに対して定義できます。また、グループ化、ソート、結合などの多くの LINQ クエリー演算子をサポートします(「C1LiveLinq」を参照)。

これらすべての操作(中でもグループ化とソートが最もよく使用される)をクライアントビューに適用できます(ClientView は View から派生しているため)。次に例を示します。

LINQ
コードのコピー
View productsByCategory = products
     .OrderBy(p => p.ProductName).GroupBy(p => p.CategoryID);
LINQ クエリー構文の場合は次のようになります。
View productsByCategory =
    from p in products
    orderby p.ProductName
    group p by p.CategoryID into g
    select new { Category = g.Key, Products = g };

結果のビューはライブですが、クライアントビューではありません。これは何らかの欠陥ではありません。単に、このようなビューでは ClientView|document=XMLDocuments\Reference;topic=ClientView(T) Class 機能が必要ないためです。ソートやグループ化は、サーバーに頼らず、完全にクライアント上で実行できます。ただし、開発者は、混乱を避けるためにこの事実を認識しておく必要があります。ビューに LINQ クエリー操作を適用すると、ClientView ではなく View になります(ただし、ライブであることは変わらず、クライアント上でデータに行われたすべての変更が自動的に反映されます)。したがって、たとえば、サーバー側のフィルタ処理が必要な場合は、LINQ Where メソッドではなく、AsFiltered メソッドを使用します。クライアント上でフィルタ処理を行う場合は、LINQ Where メソッドを使用します。