高效轉換DataReader到List
DataReader儲存資料很方便,但有時需要以其他格式(例如清單)處理資料。將DataReader轉換為強類型列表,如List
一種簡化流程的方法是建立一個擴充方法來處理轉換。例如下:
<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>
此方法採用一個Func,定義如何將DataReader的每一行轉換為T型別的實例。然後,您可以使用LINQ的ToList()方法將結果轉換為List
另一種方法是在目標類型(Customer)中建立一個從DataReader轉換的方法。例如:
<code class="language-csharp">public static Customer FromDataReader(IDataReader reader) { ... }</code>
使用此方法,您可以簡單地使用以下程式碼檢索List
<code class="language-csharp">using (IDataReader reader = ...) { List<Customer> customers = reader.Select<Customer>(Customer.FromDataReader) .ToList(); }</code>
以上是如何輕鬆地將 DataReader 轉換為清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!