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