How to convert List<dynamic> to List<OurClass>

Total Post:128

Points:898
C# 
C#
 2045  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. 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>());

      Modified On Apr-07-2018 01:14:23 AM

Answer

NEWSLETTER

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