1

この質問を読んだIEnumerableところ、データを取得するときにを使用する必要がある理由を考えさせられました。IQueryableとの違いは理解できますが、フィルタリングできるデータにIEnumerableはオブジェクトの方が適していますか? IEnumerableたとえば、日付を含むレコードを含むテーブルがあるので、日付で並べ替えることができます。

4

2 に答える 2

4

データベースなどの別のデータソースからではなく、メモリ内にオブジェクトがある場合は、を使用しますIEnumerable<T>。そうすれば、組み込みのLINQtoObjectsが自動的に機能します。

カスタム拡張メソッドを記述し、とを使用して、LINQをオブジェクトに拡張することもできyield returnますyield break

Entity Frameworkまたはを使用している他のシステムを使用している場合は、オブジェクトとして必要になるまでIQueryable<T>そのままにしておきます。IQueryable<T>

于 2012-04-11T12:59:55.047 に答える
0

場合によります。

最初にすべてのデータを受信して​​から、返されたオブジェクトのセットをフィルター処理する場合は、 IEnumerable を使用します。

データベース (Linq-to-sql / Entity Framework など) でフィルタリングを有効にする場合は、IQueryable を使用することをお勧めします。

于 2012-04-11T13:15:32.707 に答える