读书人

linq datatable join合并返回数据,该如

发布时间: 2012-06-08 12:55:24 作者: rapoo

linq datatable join合并返回数据
DataTable dt1 = new DataTable();
dt1.Columns.Add("c1");
dt1.Columns.Add("c2");
DataRow dr1 = dt1.NewRow();
dr1["c1"] = "a";
dr1["c2"] = "ad";
dt1.Rows.Add(dr1);

DataTable dt2 = new DataTable();
dt2.Columns.Add("c3");
dt2.Columns.Add("c4");
DataRow dr2 = dt2.NewRow();
dr2["c3"] = "a";
dr2["c4"] = "b";


DataRow dr3 = dt2.NewRow();
dr3["c3"] = "a";
dr3["c4"] = "c";

dt2.Rows.Add(dr2);
dt2.Rows.Add(dr3);

也就是相当于内联接,根据第一个表的c1等于第二个表的c3,查寻出两个表的所有内容
谢谢了.没分了...急啊


[解决办法]

C# code
void Main(){    DataTable dt1 = new DataTable();  dt1.Columns.Add("c1");  dt1.Columns.Add("c2");  DataRow dr1 = dt1.NewRow();  dr1["c1"] = "a";  dr1["c2"] = "ad";  dt1.Rows.Add(dr1);  DataTable dt2 = new DataTable();  dt2.Columns.Add("c3");  dt2.Columns.Add("c4");  DataRow dr2 = dt2.NewRow();  dr2["c3"] = "a";  dr2["c4"] = "b";  DataRow dr3 = dt2.NewRow();  dr3["c3"] = "a";  dr3["c4"] = "c";  dt2.Rows.Add(dr2);  dt2.Rows.Add(dr3);    var query=from t1 in dt1.AsEnumerable()            join t2 in dt2.AsEnumerable()            on t1.Field<string>("c1") equals t2.Field<string>("c3")             select new {            c1=t1.Field<string>("c1"),            c2=t1.Field<string>("c2"),            c4=t2.Field<string>("c4")            };   } 

读书人网 >.NET

热点推荐