SqlDataReaders は、早送り、読み取り専用、一度に 1 行ずつ接続される性質があるため、SqlDataAdapters よりもはるかに高速であり、DataTable オブジェクト (SqlDataAdapter. Fill(データテーブル))。
ただし、あちこちで、「SqlDataAdapter は内部的にデータ リーダーを使用してテーブルを埋めるため、何を使用してもおそらく違いはない」と言及する人がいます。これが本当なら、アダプタが内部データ リーダーを使用してデータベースと通信している場合、アダプタの速度がどのように低下するのでしょうか?
いくつかのテストをセットアップして、それぞれのパフォーマンスをプロファイリングできることはわかっていますが、本質的にどちらの方法でも同じプロセスを扱っている場合、誰かがパフォーマンスの不一致の疑いに光を当ててくれることを望んでいます.
テーブルを埋めるだけのデータ アダプターとは異なり、通常はリーダーを使用して厳密に型指定された POCO のリストを作成することを理解しています。ただし、私の質問は厳密には、O/RM の問題ではなく、2 つのパフォーマンスの違いの詳細についてです...