DataReader を List に効率的に変換する
DataReader はデータを保存するのに便利ですが、他の形式 (リストなど) でデータを処理する必要がある場合があります。 DataReader を List
プロセスを簡素化する 1 つの方法は、変換を処理する拡張メソッドを作成することです。例は次のとおりです:
<code class="language-csharp">public static IEnumerable<T> Select<T>(this IDataReader reader, Func<IDataReader, T> projection) { while (reader.Read()) { yield return projection(reader); } }</code>
このメソッドは、DataReader の各行を T 型のインスタンスに変換する方法を定義する Func を受け取ります。その後、LINQ の ToList() メソッドを使用して、結果を List
もう 1 つのアプローチは、DataReader から変換するターゲット型 (Customer) でメソッドを作成することです。例:
<code class="language-csharp">public static Customer FromDataReader(IDataReader reader) { ... }</code>
このメソッドを使用すると、次のコードを使用して簡単にリストを取得できます
<code class="language-csharp">using (IDataReader reader = ...) { List<Customer> customers = reader.Select<Customer>(Customer.FromDataReader) .ToList(); }</code>
以上がDataReader をリストに簡単に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。