Click here to Skip to main content
15,898,134 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I want to find columns with missing or those with datatype mismatch in asp.net with c#. I am having two data tables with column name and column datatype fetched. I want to find the missing columns and columns with datatype mismatching.

What I have tried:

DataTable dtmismatch = table1.AsEnumerable().Except(table2.AsEnumerable(), DataRowComparer.Default).CopyToDataTable<DataRow>();
Posted
Updated 8-Mar-17 5:48am
v2

1 solution

check whether it helps

DataTable dt1 = new DataTable();
       dt1.Columns.Add("ID", typeof(int));
       dt1.Columns.Add("Name", typeof(string));
       dt1.Columns.Add("Address", typeof(string));
       dt1.Columns.Add("Phone", typeof(float)); // float

       DataTable dt2 = new DataTable();
       dt2.Columns.Add("ID", typeof(int));
       dt2.Columns.Add("Address", typeof(string));
       dt2.Columns.Add("Phone", typeof(string)); // string


       List<string> lst1 = new List<string>();
       List<string> lst2 = new List<string>();
       dt1.Columns.OfType<DataColumn>().ToList().ForEach(k => lst1.Add(k.ColumnName +"-" + k.DataType.Name));
       dt2.Columns.OfType<DataColumn>().ToList().ForEach(k => lst2.Add(k.ColumnName + "-" + k.DataType.Name));
       var result = lst1.Where(k => !lst2.Contains(k)).ToList(); // Name-string, Phone-single
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900