ホームページ > バックエンド開発 > C++ > DataReader をリストに簡単に変換するにはどうすればよいですか?

DataReader をリストに簡単に変換するにはどうすればよいですか?

DDD
リリース: 2025-01-16 22:21:16
オリジナル
271 人が閲覧しました

How to Easily Convert a DataReader to a List?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート