private MemberMapping MapMember(TypeMapping mapping, IMemberMappingConfiguration configuration) { // TODO: unique key, that is not UNIQUE var sqlType = FormSqlType(configuration); var notNull = (configuration.ColumnConstraints & ColumnConstraints.NotNull) != 0; var primary = (configuration.ColumnConstraints & ColumnConstraints.PrimaryKey) != 0; var unique = (configuration.ColumnConstraints & ColumnConstraints.Unique) != 0; bool uniqueKey = mapping.IsUniqueKey(configuration.Member.Name); var columnName = GetColumnName(configuration); return(new MemberMapping(mapping, configuration.Member, columnName, sqlType, notNull, primary, unique, uniqueKey)); }
private string GetColumnName(IMemberMappingConfiguration configuration) { var columnName = configuration.ColumnName; if (String.IsNullOrEmpty(columnName)) { columnName = configuration.Member.Name; } if (ColumnNameConvention != null) { columnName = ColumnNameConvention.FormatName(columnName); } return(columnName); }
private SqlType FormSqlType(IMemberMappingConfiguration configuration) { var sqlType = configuration.ColumnType; if (sqlType == null) { sqlType = DiscoverSqlType(configuration.Member); } var meta = new List <DataTypeMeta>(); if (configuration.Size != null) { meta.Add(new DataTypeMeta("Size", configuration.Size.Value.ToString())); } if (configuration.Precision != null) { meta.Add(new DataTypeMeta("Precision", configuration.Precision.Value.ToString())); } return(SqlType.Resolve(sqlType.Value, meta.ToArray())); }