我有兩個我想要合併的數據表。DataTable(s)合併問題
我知道有很多方法2 for loops
和dataset merge
和linq
。
但我發現他們都需要知道每個數據表有多少列。
我的情況有點不同。
我從2個CSV文件中抓取數據並填充兩個數據表。
所以,我不知道每個數據庫有多少列。
我所知道的是每個表都有「NRIC」列,這是唯一的。
現在,我想合併它們。
我該如何做到這一點?
我有兩個我想要合併的數據表。DataTable(s)合併問題
我知道有很多方法2 for loops
和dataset merge
和linq
。
但我發現他們都需要知道每個數據表有多少列。
我的情況有點不同。
我從2個CSV文件中抓取數據並填充兩個數據表。
所以,我不知道每個數據庫有多少列。
我所知道的是每個表都有「NRIC」列,這是唯一的。
現在,我想合併它們。
我該如何做到這一點?
難道你不能通過迭代每個DataTables的Columns屬性來獲得列名和/或列數嗎?
以下鏈接可以幫助:
http://msdn.microsoft.com/en-us/library/system.data.datatable.columns.aspx
我寧願一口氣做所有的事情..就像linq查詢風格..如果可能的話。 – william
You can try like the below one.Here location is common entity between two tables.
var results = t1.AsEnumerable().Join(t2.AsEnumerable(),
a => a.Field<String>("Location"),
b => b.Field<String>("Location"),
(a, b) =>
{
DataRow row = table.NewRow();
row.ItemArray = a.ItemArray.Concat(b.ItemArray).ToArray();
table.Rows.Add(row);
return row;
});
爲什麼不只是做 '.Count之間',並找出你多少列呢? – FrostyFire