2012年7月4日 星期三

[LINQ]合併兩個DataTable

dt1:(id,name,add)
dt2:(id,tel)
要將dt1與dt2合併成
使用LINQ的LEFT JOIN
dt1有資料但dt2沒資料時,資料仍存在,沒有值的dt2就為預設值空白


var query =
 from a in dt1.AsEnumerable()
 join b in dt2.AsEnumerable()
   on a.Field("NAME") equals b.Field("NAME") into k
 from subpet in k.DefaultIfEmpty()
select new
{ ID = a.Field("ID"),
 NAME= a.Field("NAME"),
 ADD = a.Field("ADDRESS"),
 TEL = (subpet == null ? String.Empty: subpet.Field("TEL "))
)};

沒有留言:

張貼留言