HOW TO CONVERT LIST<DYNAMIC> TO LIST<OURCLASS>

Ashish Pandey

Total Post:128

Points:898
Posted by  Ashish Pandey
C# 
C#
 1516  View(s)
Ratings:
Rate this:

I create a dynamic list at run-time and after execution I need to assign the list to my class properties

 

List<tblchargemaster> charge = new List<tblchargemaster>();

 

charge = (List<tblchargemaster>) ObjDB.SelectQuery("tblchargemaster");

tblchargemaster is the class type and SelectQuery function returns List<dynamic>. How can I convert this dynamic list to a list with my class type?

 

     public List<dynamic> SelectQuert(string TableName)

    {

        Conn.Open();

 

        DataTable dt = new DataTable("map");

 

        string Query = "Select * from " + TableName;           

        MySqlDataAdapter dr = new MySqlDataAdapter(Query, Conn);

        dr.Fill(dt);

 

        List<dynamic> dynamicDt = dt.ToDynamic();

 

        Conn.Close();

 

        return dynamicDt;

    }

And Generic Class is

 

    public static class DataTableExtensions

{

    public static List<dynamic> ToDynamic(this DataTable dt)

    {

        var dynamicDt = new List<dynamic>();

        foreach (DataRow row in dt.Rows)

        {

            dynamic dyn = new ExpandoObject();

            foreach (DataColumn column in dt.Columns)

            {

                var dic = (IDictionary<string, object>)dyn;

                dic[column.ColumnName] = row[column];

                dynamicDt.Add(dyn);

            }

        }

        return dynamicDt;

    }

}

  1. Pravesh Singh

    Post:412

    Points:2888
    Re: How to convert List<dynamic> to List<OurClass>

    Hi Ashish, 


    Use Cast<tblchargemaster>() method:

    List<tblchargemaster> charge = new List<tblchargemaster>();

    charge = charge.AddRange(

       ObjDB.SelectQuert("tblchargemaster").Cast<tblchargemaster>());

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!