C# Extension Method: IDataReader - ToExpandoObjects

CSharp · Console

/Program.cs

// C# Extension Method
// Doc: https://csharp-extension.com/en/method/1002781/idatareader-toexpandoobjects

// @nuget: Z.ExtensionMethods

using System;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Data.SqlClient;
using System.Collections.Generic;
					
public class Program
{
	public static void Main()
	{
		string sql = "SELECT 1 AS IntColumn, 'FizzBuzz' AS StringColumn UNION SELECT 2, 'BuzzBuzz'";
		
		using (var conn = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()))
        {
            conn.Open();
            using (DbCommand command = conn.CreateCommand())
            {
                command.CommandText = sql;
                using (IDataReader reader = command.ExecuteReader())
                {					
					//C# Extension Method: IDataReader - ToExpandoObjects
                    List<dynamic> list = reader.ToExpandoObjects().ToList();
					
					Console.WriteLine(list[0].IntColumn);
                    Console.WriteLine(list[0].StringColumn);
                    Console.WriteLine(list[1].IntColumn);
                    Console.WriteLine(list[1].StringColumn);
                }
            }
        }
	}
}
;