andchoice IEnumerable<T>
IQueryable<T>
linqクエリを使用する場合、
を選択すると、パフォーマンスとデータの検索に大きな影響があります。これらの2つのインターフェイスは、遅延実行の処理が異なるため、データクエリの最適化と効率的な処理が可能になります。 IEnumerable<T>
IQueryable<T>
実行の遅延:重大な違い
およびの両方が遅延した実行をサポートします。つまり、クエリが作成されたときにすぐに実行されないことを意味します。代わりに、クエリは将来実行できる式として表現されます。ただし、各インターフェイス処理遅延実行には重要な違いがあります。
IQueryable<T>
:データベースはクエリに関連していませんIEnumerable<T> は、LINQからSQLクエリを有効にするインターフェイスであり、基礎となるデータベースを理解することなく、高レベルの操作がデータソースを実行できるようにします。クエリプロバイダー(LINQからSQLの場合、これはデータベースエンジンです)を使用してクエリプロバイダーを使用して質問を実行し、クエリを変換し、最適化されたSQLステートメントに変換します。
この最適化されたSQLステートメントは、データベースサーバーで実行され、クエリ条件と一致した結果のみを返します。さらに改良が必要な場合は、高性能と最適化レベルを維持するために、データベースで新しいクエリも実行されます。
IQueryable<T>
:メモリでの操作はメモリ内のオブジェクトのセットを示します。 IQueryable<T>
正しいオプションを選択しますIQueryable<T>
および
の選択は、アプリケーションの特定の要件に依存します。IQueryable<T>
を使用するか
複数の接続とスクリーニング条件を備えた複雑なクエリIEnumerable<T>
お問い合わせ
以上がiEnumerable vs. iQueryable:いつ選択すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。