private string RenderNormalProperties(Table table) { var code = new StringBuilder(); //先输出 Id 字段。 var idColumn = RenderId(table); //Id 字段以外的其它字段,都可以输出了。 foreach (var column in table.Columns) { if (!column.IsForeignKey && column != idColumn) { string propertyType = string.Empty; #region 转换到属性的类型 switch (column.DataType) { case DbType.AnsiString: case DbType.AnsiStringFixedLength: case DbType.StringFixedLength: case DbType.Xml: case DbType.String: propertyType = "string"; break; case DbType.Int16: case DbType.Int32: case DbType.Int64: case DbType.SByte: case DbType.UInt16: case DbType.UInt32: case DbType.UInt64: propertyType = "int"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.VarNumeric: case DbType.Single: case DbType.Double: propertyType = "double"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.Decimal: propertyType = "decimal"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.Date: case DbType.DateTime: case DbType.DateTime2: case DbType.DateTimeOffset: case DbType.Time: propertyType = "DateTime"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.Boolean: propertyType = "bool"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.Binary: propertyType = "byte[]"; break; case DbType.Byte: propertyType = "byte"; break; case DbType.Guid: propertyType = "Guid"; if (!column.IsRequired) { propertyType += '?'; } break; case DbType.Object: case DbType.Currency: default: propertyType = "string"; break; } #endregion var propertyCode = ItemCodeTemplate.GetNormalPropertyCode(ToEntityName(table), propertyType, column.Name); code.Append(propertyCode); } } return(code.ToString()); }