linq - How to join two tables using c# 4.0? -


i have same issue here linq join 2 datatables datatables made on runtime like

datatable dttml = (datatable)jsonconvert.deserializeobject(convert.tostring(data.json.args[0]["tml"]), (typeof(datatable))); 

the solution gave fine getting error on datarows2 at

select dtresult.loaddatarow(new object[] {   datarows2.field<int>("stock") // here error : not exist in current context } 

while datarows1.field(s) fine

i can't see what's wrong approach :

datatable dt1 = new datatable(); dt1.columns.add("pk", typeof(int)); dt1.columns.add("data1", typeof(int));  datatable dt2 = new datatable(); dt2.columns.add("fk", typeof(int)); dt2.columns.add("data2", typeof(int));  dt2.rows.add(1, 5000); dt1.rows.add(1, 1000);  var result = (from r1 in dt1.asenumerable()               join r2 in dt2.asenumerable()               on r1["pk"] equals r2["fk"]               select new               {                   = r1.field<int>("data1"),                   b = r2.field<int>("data2"),                   //  choose more columns if               }).tolist(); 

you can whatever want using it. if need result datatable , use method [ listtodatatable ] convert list datatable:

public static datatable listtodatatable<t>(list<t> items) {      system.componentmodel.propertydescriptorcollection properties =     system.componentmodel.typedescriptor.getproperties(typeof(t));     datatable table = new datatable();     foreach (system.componentmodel.propertydescriptor prop in properties)         table.columns.add(prop.name, nullable.getunderlyingtype(prop.propertytype) ?? prop.propertytype);     foreach (t item in items)     {         datarow row = table.newrow();         foreach (system.componentmodel.propertydescriptor prop in properties)             row[prop.name] = prop.getvalue(item) ?? dbnull.value;         table.rows.add(row);     }     return table; 

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -