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,查寻出两个表的所有内容
谢谢了.没分了...急啊
[解决办法]
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") }; }