DataSource for Entity Framework for WinForms
インデックスサンプル

ハウツー Indexing サンプルは、LiveLinq 機能の2つの領域のうちの1つ、インデックスを使用して LINQ クエリーを高速化する方法を示します。ライブビューは使用しません。ただし、LiveLinqToXml では、ベースデータコレクションを定義するためにライブビューが必要になります。

すべてのサンプルで2つのクエリーを使用します。1つは最も基本的なクエリーで、もう1つは結合を使用した少し複雑なクエリーです。クエリーの機能は3つのサンプルでどれも同じですが、基底のデータの素性だけがユーザーオブジェクトコレクション(LiveLinqToObjects)、ADO.NET DataSet(LiveLinqDataSet)、および XML(LiveLinqToXml)と異なります。

どのサンプルでも、インデックスを作成する方法が2つ用意されています。1つは Indexes コレクションにインデックスを追加して明示的に作成する方法、もう1つはクエリーでヒントを使用して暗黙的に作成する方法です。

 

LiveLinqToObjects

このサンプルは、IndexedCollection クラスを使用してデータコレクションを作成およびクエリーし、インデックスを使用してクエリーのパフォーマンスを改善する方法を示します。

LiveLinqToDataSet

このサンプルは、LiveLinq を使用して ADO.NET DataSet 内のデータをクエリーし、そのデータのインデックスを作成して、通常の LINQ to DataSet クエリーより高速なクエリーを作成する方法を示します。このサンプルでは、強力に型付けされたデータセットと型付きでないデータセットの両方を示します。

LiveLinqToXml

このサンプルは、LiveLinq を使用して XML データをクエリーする方法を示します。これは、XML データに対して直接定義された 'customers' および 'orders' ライブビューにインデックスを作成します。この簡単な XML インデックスにより、XML データに対する LINQ クエリーの速度が劇的に向上します。通常の LINQ to XML より数百倍高速になることも普通です。パフォーマンスの評価については、「クエリーパフォーマンスのサンプルアプリケーション(LiveLinqQueries)」を参照してください。