[转]Linq查询DataTable,DataRow
原文:http://www.cnblogs.com/wucg/archive/2010/10/13/1850053.html
staticvoidMain(){stringstrcon = global::TestLinqToSQL.Properties.Settings.Default.testConnectionString;SqlConnection conn =newSqlConnection(strcon);SqlDataAdapter da =newSqlDataAdapter("select * from T_Teacher", strcon);DataTable dt =newDataTable();da.Fill(dt);conn.Close();IEnumerable<DataRow> q1 = from rindt.AsEnumerable()where r.Field<int>("ID") % 2 == 0select r;foreach(var iteminq1){Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());}Console.WriteLine("-----------------------------------");IEnumerable<DataRow> q2 = from rindt.AsEnumerable()where r.Field<int>("ID")>10select r;foreach(var iteminq2){Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());}Console.WriteLine("-----------------------------------");DataTable dt1 = q1.CopyToDataTable();DataTable dt2 = q2.CopyToDataTable();//集合排除//var except = dt2.AsEnumerable().Except(dt1.AsEnumerable() , DataRowComparer.Default);
//集合并//var except = dt2.AsEnumerable().Union(dt1.AsEnumerable(), DataRowComparer.Default);//集合交var except = dt2.AsEnumerable().Intersect(dt1.AsEnumerable(), DataRowComparer.Default);foreach(var iteminexcept){Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());}Console.WriteLine("done");Console.ReadLine();}

浙公网安备 33010602011771号