我想在DataTable insertRows
没有密钥的情况下规范化数据。为此,我需要通过查找它们的 ID ( import_id
) 来识别和标记重复记录。之后,我将只选择不同的。我正在考虑的方法是将每一行与该 DataTable 中的所有行进行比较 insertRows
DataTable 中的列在设计时是未知的,并且没有键。性能方面,该表将有多达 10k 到 20k 条记录和大约 40 列
我如何在不牺牲太多性能的情况下做到这一点?
我尝试使用 linq 但我不知道如何动态指定 where 条件在这里我在循环中比较每一行的名字和姓氏
foreach (System.Data.DataRow lrows in importDataTable.Rows) { IEnumerable<System.Data.DataRow> insertRows = importDataTable.Rows.Cast<System.Data.DataRow>(); var col_matches = from irows in insertRows where String.Compare(irows["fname"].ToString(), lrows["fname"].ToString(), true).Equals(0) && String.Compare(irows["last_name"].ToString(), lrows["last_name"].ToString(),true).Equals(0) select new { import_id = irows["import_id"].ToString() }; }
欢迎任何想法。如何使用 linq 找到类似的列名?>我的类似问题