private static bool ColumnsMatch(SchemaDataSet.ColumnsRow columnRow1, SchemaDataSet.ColumnsRow columnRow2)
 {
     if (columnRow1.IsDATA_TYPENull() != columnRow2.IsDATA_TYPENull()
         || (!columnRow1.IsDATA_TYPENull() && !columnRow2.IsDATA_TYPENull()
             && !columnRow1.DATA_TYPE.Equals(columnRow2.DATA_TYPE, StringComparison.OrdinalIgnoreCase))
         )
     {
         return false;
     }
     if (columnRow1.IsCHARACTER_MAXIMUM_LENGTHNull() != columnRow2.IsCHARACTER_MAXIMUM_LENGTHNull()
         || (!columnRow1.IsCHARACTER_MAXIMUM_LENGTHNull() && !columnRow2.IsCHARACTER_MAXIMUM_LENGTHNull()
             && columnRow1.CHARACTER_MAXIMUM_LENGTH != columnRow2.CHARACTER_MAXIMUM_LENGTH)
         )
     {
         return false;
     }
     if (columnRow1.IsNUMERIC_PRECISIONNull() != columnRow2.IsNUMERIC_PRECISIONNull()
         || (!columnRow1.IsNUMERIC_PRECISIONNull() && !columnRow2.IsNUMERIC_PRECISIONNull()
             && columnRow1.NUMERIC_PRECISION != columnRow2.NUMERIC_PRECISION)
         )
     {
         return false;
     }
     if (columnRow1.IsNUMERIC_PRECISION_RADIXNull() != columnRow2.IsNUMERIC_PRECISION_RADIXNull()
         || (!columnRow1.IsNUMERIC_PRECISION_RADIXNull() && !columnRow2.IsNUMERIC_PRECISION_RADIXNull()
             && columnRow1.NUMERIC_PRECISION_RADIX != columnRow2.NUMERIC_PRECISION_RADIX)
         )
     {
         return false;
     }
     if (columnRow1.IsNUMERIC_SCALENull() != columnRow2.IsNUMERIC_SCALENull()
         || (!columnRow1.IsNUMERIC_SCALENull() && !columnRow2.IsNUMERIC_SCALENull()
             && columnRow1.NUMERIC_SCALE != columnRow2.NUMERIC_SCALE)
         )
     {
         return false;
     }
     if (columnRow1.IsDATETIME_PRECISIONNull() != columnRow2.IsDATETIME_PRECISIONNull()
         || (!columnRow1.IsDATETIME_PRECISIONNull() && !columnRow2.IsDATETIME_PRECISIONNull()
             && columnRow1.DATETIME_PRECISION != columnRow2.DATETIME_PRECISION)
         )
     {
         return false;
     }
     if (columnRow1.IsCHARACTER_OCTET_LENGTHNull() != columnRow2.IsCHARACTER_OCTET_LENGTHNull()
         || (!columnRow1.IsCHARACTER_OCTET_LENGTHNull() && !columnRow2.IsCHARACTER_OCTET_LENGTHNull()
             && columnRow1.CHARACTER_OCTET_LENGTH != columnRow2.CHARACTER_OCTET_LENGTH)
         )
     {
         return false;
     }
     return true;
 }