Как объединить две таблицы данных с одинаковыми именами, но они чувствительны к регистру? - PullRequest
0 голосов
/ 25 сентября 2019

Я получаю динамические данные из двух источников.Имена столбцов одинаковы, но имеют разные регистры.При объединении таблиц данных будут созданы дублирующие столбцы.Я хочу объединить с теми же столбцами, независимо от корпуса.

Код:

dataTable1.merge(dataTable2);

Мои имена столбцов в dataTable1:

Title
filePath

Мои имена столбцов вdataTable2:

title
FilePath

Он должен рассматривать эти два столбца как идентичные.

MyCode:

    public void TestOnMergeDataTables()
    {
        DataTable dt = new DataTable("Order");
        DataColumn dc = dt.Columns.Add("ID", typeof(int));
        dt.Columns.Add("Name", typeof(String));

        dt.Rows.Add(1, "pramod");
        dt.Rows.Add(2, "ravi");
        dt.Rows.Add(3, "deepak");
        dt.Rows.Add(4, "kiran");
        dt.Rows.Add(5, "madhu");

        DataTable dt2 = new DataTable("Order");
        DataColumn dc2 = dt2.Columns.Add("ID", typeof(int));
        dt2.Columns.Add("name", typeof(String));
        dt2.Columns.Add("Type", typeof(String));

        dt2.Rows.Add(6, "ashu", "Gen");
        dt2.Rows.Add(7, "rudra", "Gen");
        dt2.Rows.Add(8, "kavita", "Gen");
        dt2.Rows.Add(9, "suman", "Gen");
        dt2.Rows.Add(10, "lakshman", "Gen");

        dt.Merge(dt2,true);
    }

Результат: Вывод программы

должен обрабатывать столбцы Name, name как один и тот же столбец

1 Ответ

1 голос
/ 25 сентября 2019

Простым способом может быть использование linq.(Это не удалит дубликаты, присутствующие в столбцах).Для удаления дубликатов вы должны использовать GroupBy.

var mergedTable = dataTable1.AsEnumerable()
                 .Select(row => new { Key = dataRow["Title"], Row = dataRow })
                 .Union(dataTable1.AsEnumerable()
                 .Select(row => new { Key = dataRow["title"], Row = dataRow }))
                 .CopyToDataTable();  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...