「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > データリーダーを.NETのリストに効率的に変換するにはどうすればよいですか?

データリーダーを.NETのリストに効率的に変換するにはどうすればよいですか?

2025-02-02に公開
ブラウズ:795

How Can I Efficiently Convert a DataReader into a List in .NET?

効率的な処理データ:datareaderをリストに変換

.NET環境でデータを処理する場合、データリーダー(前方にのみ読み取るデータフロー)を、リストなどのより簡単な形式に変換する必要がある場合があります。この変換により、構造化されたデータにより効率的にアクセスして処理できます。 ソリューション:拡張

変換の方法は、拡張方法を使用することです。例は次のとおりです。

public static iEnumerable select (このidareader Reader、 func プロジェクト) {{ while(reader.read()) {{ 利回り返品プロジェクト(Reader); } } この拡張方法を使用すると、投影関数を持つDataReaderからデータを選択し、Ienumeration

に変換できます。

使用方法の使用方法
public static IEnumerable Select(this IDataReader reader,
                                       Func projection)
{
    while (reader.Read())
    {
        yield return projection(reader);
    }
}
に変換するには、次のコードを使用できます。

を使用(idareader reader = ...) {{ List customers = reader.select(r => new Customer { customerId = r ["id"] dbnull:r ["id"]。 cusomername = r ["name"] null: "name"]。 })。 }

この例は、DataReaderの行を顧客オブジェクトのリストに変換します。 代替方法:物理タイプの特別な方法

または、顧客エンティティで専用の静的メソッドを作成できます。

datareaderのpublic static Customer(idatareader reader){...}
using (IDataReader reader = ...)
{
    List customers = reader.Select(r => new Customer {
        CustomerId = r["id"] is DBNull ? null : r["id"].ToString(),
        CustomerName = r["name"] is DBNull ? null : r["name"].ToString()
    }).ToList();
}

この方法を使用して、変換プロセスを簡素化できます。

を使用(idareader reader = ...) {{ リスト customers = reader.select これらのテクノロジーを使用すると、DataReaderのデータをリスト

に効率的に変換して、LINQの強力な関数を使用して、さらなるデータの操作と処理を使用できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3