var loc = new DataTable();
var pep = new DataTable();
loc.Columns.Add("ID");
loc.Columns.Add("LOCATION");
loc.Columns.Add("DELETE_FLG");
loc.Rows.Add("100", "US", "0");
loc.Rows.Add("101", "AU", "1");
loc.Rows.Add("102", "JP", "1");
loc.Rows.Add("103", "CH", "1");
loc.Rows.Add("104", "UK", "1");
loc.Rows.Add("105", "RU", "1");
pep.Columns.Add("LOCATION_ID");
pep.Columns.Add("NAME");
pep.Columns.Add("DELETE_FLG");
pep.Rows.Add("100", "TAKANA", "0");
pep.Rows.Add("101", "YAKATA", "1");
pep.Rows.Add("100", "WADA", "1");
pep.Rows.Add("101", "SHINODA", "1");
pep.Rows.Add("100", "HARUKA", "1");
pep.Rows.Add("105", "SAIONJI", "0");
var result = (
from l in loc.AsEnumerable()
join p in pep.AsEnumerable()
on new {
a = l.Field<string>("ID"),
b = l.Field<string>("DELETE_FLG")
} equals new {
a = p.Field<string>("LOCATION_ID"),
b = p.Field<string>("DELETE_FLG")
}
select new Dictionary<string, string> {
{
"LOCATION_ID",
l.Field<string>("ID")
},
{
"NAME",
p.Field<string>("NAME")
}
}
).ToList();