对于两个datatable合并的时候,如果列名字相同时,我本来用merge函数,可是因为两个字段类型不一样的话,比如一个int,一个double,merge类型不符是会出问题的,如果merge的时候参数用ignoreSchema的话,我是要存入数据库的,会有primaryKey的列,会出现错误说有重复的行。所以后来就在不同的需求情况下用
foreach (DataRow row in ds.Tables[0].Rows)
{
    ds.Tables[1].ImportRow(row);
}

 DataTableReader dtr = ds.Tables[0].CreateDataReader();
 ds.Tables["tmp"].Load(dtr,LoadOption.Upsert);
这样的合并当列名字相同时没问题,可是当列名字不同时,好像不可以做列的映射,数据就导不进去,已经不知道该怎么办了,请教各位前辈!