internal static string DataTypeWithDetail(SchemaDataSet.SchemaPrimaryKeysRow primaryKeysRow, SchemaDataSet.ColumnsDataTable columnsDataTable) { var enumerableColumnsDataTable = columnsDataTable.AsEnumerable(); var columnsTableQuery = from columnsRow in enumerableColumnsDataTable where columnsRow.TABLE_SCHEMA.Equals(primaryKeysRow.TABLE_SCHEMA, StringComparison.OrdinalIgnoreCase) where columnsRow.TABLE_NAME.Equals(primaryKeysRow.TABLE_NAME, StringComparison.OrdinalIgnoreCase) where columnsRow.COLUMN_NAME.Equals(primaryKeysRow.COLUMN_NAME, StringComparison.OrdinalIgnoreCase) select columnsRow; var primaryKeyColumnRow = columnsTableQuery.FirstOrDefault(); if (null == primaryKeyColumnRow) { throw new InvalidOperationException("Unexpected: Did not find column from primary key table"); } return string.Format("[{0}]{1}", primaryKeyColumnRow.DATA_TYPE.ToUpperInvariant(), DataTypeDetail(primaryKeyColumnRow)); }