private ICollection <ColumnMetaData> GetColumnMetaDataList(TableMetaData tableMetaData, TableRule tableRule) { var generateKeyColumn = tableRule.GetGenerateKeyColumn(); if (null == generateKeyColumn) { return(tableMetaData.GetColumns().Select(o => o.Value).ToList()); } ICollection <ColumnMetaData> result = new LinkedList <ColumnMetaData>(); foreach (var column in tableMetaData.GetColumns()) { if (column.Key.EqualsIgnoreCase(generateKeyColumn)) { result.Add(new ColumnMetaData( column.Value.Name, column.Value.ColumnOrdinal, column.Value.DataTypeName, column.Value.PrimaryKey, true, column.Value.CaseSensitive)); } else { result.Add(column.Value); } } return(result); }