2012-04-11 7 views
1

私はちょうどこれを読んでquestionと私はなぜ私はIEnumerableデータを取得するときに使用する必要が考えられました。 IQueryableIEnumerableの違いはわかりますが、IEnumerableオブジェクトはフィルタリングが可能なデータに適していますか?たとえば、日付を含むレコードを持つテーブルなので、日付を並べ替えることができます。IEnumerableはフィルタリングを可能にするデータの良い戻り型ですか?

答えて

4

オブジェクトをデータベースなどの別のデータソースではなくメモリに保存している場合は、IEnumerable<T>を使用します。こうすると、LINQ to Objectsが自動的に動作します。

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

エンティティフレームワークまたはIQueryable<T>を使用している他のシステムを使用している場合は、オブジェクトとして必要となるまで、IQueryable<T>としておきます。

0

です。

最初にすべてのデータを受け取った後、返されたセットをにフィルターします。オブジェクトはIEnumerableを使用します。

データベース(たとえば、Linq-to-sql/Entity Framework)でフィルタリングを有効にする場合は、IQueryableを使用してください。

関連する問題