我有2个Datatable dt和dt2
var dt = MultiCheckCombo3.GetAllChechedBox();
var dt2 =manager.GetAllStudents(student_id, classid);
在第一个表中,dt是两列“id_staff”和“name_staff” 在第二个表中有几列,但其中2列重复“id_staff”和“name_staff” 我想创建一个新的DataTable,其字段为“id_staff”和“name_staff”,通用DataTable dt和dt2
如何加入这些表格? dt3 = dt + dt2
答案 0 :(得分:0)
查看DataTable.Merge
方法:
This link有一个如何执行此操作的示例
答案 1 :(得分:0)
也许是这样的:
var dt=new DataTable();
dt.Columns.Add("id_staff",typeof(int));
dt.Columns.Add("name_staff",typeof(string));
var dt2=new DataTable();
dt2.Columns.Add("id_staff",typeof(int));
dt2.Columns.Add("name_staff",typeof(string));
dt.Rows.Add(1,"test");
dt2.Rows.Add(2,"test2");
var result=
(
from datatable1 in dt.AsEnumerable()
select new
{
id_staff=datatable1.Field<int>("id_staff"),
name_staff=datatable1.Field<string>("name_staff")
}
).Concat
(
from datatable2 in dt2.AsEnumerable()
select new
{
id_staff=datatable2.Field<int>("id_staff"),
name_staff=datatable2.Field<string>("name_staff")
}
);
答案 2 :(得分:0)
您可以使用Linq加入这两个表。请参阅以下example。
文章中的代码:
var innerGroupJoinQuery =
from category in categories
join prod in products on category.ID equals prod.CategoryID into prodGroup
select new { CategoryName = category.Name, Products = prodGroup };
答案 3 :(得分:0)
如果dt和dt2是DataTables,则可以使用数据表合并。
DataTable dt3 = dt.Copy()
dt3.Merge(dt2, false, MissingSchemaAction.Ignore)