private static void CreateClassFile(TableDefinition table, List <ColumnDefinition> columns) { var namespaceValue = ConfigurationManager.AppSettings["Namespace"]; var classBody = new StringBuilder(); var orderedColumns = columns.OrderByDescending(c => c.Constraints != null && c.Constraints.Exists(col => col.Type == ConstraintType.PrimaryKey)); foreach (var column in orderedColumns) { var cSharpType = SqlTypeConverter.ConvertSqlTypeToCSharpType(column.DataType); classBody.AppendLine($" public {cSharpType} {column.ColumnName} {{ get; set; }}"); } var classContent = $"using System;{Environment.NewLine}{Environment.NewLine}namespace {namespaceValue}{Environment.NewLine}{{{Environment.NewLine} public class {table.TableName}{Environment.NewLine} {{{Environment.NewLine}{classBody} }}{Environment.NewLine}}}"; var path = Path.Combine(destination, table.DatabaseName); File.WriteAllText(Path.Combine(path, $"{table.TableName}.cs"), classContent); }