Я использую приведенный ниже запрос для объединения двух таблиц, и он отлично работает.
var joins = from filerow in dtfile.AsEnumerable()
from dbrow in dtdb.AsEnumerable().Where(x =>
filerow["PRODUCT_ID"] == x["PRODUCT_ID"]
&& filerow["COMPANY"] == x["COMPANY_NAME"]
&& filerow["BRAND"] == x["BRAND_ID"]
&& filerow["LOCATION"] == x["PLACE"]
)
select new { filerecord = filerow, db = dbrow };
Я хочу сделать имена столбцов динамическими c в словаре, а затем использовать этот словарь для получения результатов объединения.
Dictionary<string, string> dictcolumnMapping = new Dictionary<string, string>();
dictcolumnMapping.Add("PRODUCT_ID", "PRODUCT_ID");
dictcolumnMapping.Add("COMPANY", "COMPANY_NAME");
dictcolumnMapping.Add("BRAND", "BRAND_ID");
dictcolumnMapping.Add("LOCATION", "PLACE");
Причина в том, что я хочу реализовать это объединение для нескольких таблиц, а ключевые столбцы различны для каждой таблицы.