Exemplo n.º 1
0
 public PostgreSQLDatabase() : base(_name, _friendlyName)
 {
     _rewriter = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
 }
        public static void NamingConventionsRewriteName(this ModelBuilder modelBuilder,
                                                        DbNamingConvention namingConvention = DbNamingConvention.Default,
                                                        CultureInfo culture = null)
        {
            if (namingConvention == DbNamingConvention.Default)
            {
                return;
            }

            INameRewriter nameRewriter = null;

            culture ??= CultureInfo.InvariantCulture;
            switch (namingConvention)
            {
            case DbNamingConvention.Default:
                break;

            case DbNamingConvention.SnakeCase:
                nameRewriter = new SnakeCaseNameRewriter(culture);
                break;

            case DbNamingConvention.LowerCase:
                nameRewriter = new LowerCaseNameRewriter(culture);
                break;

            case DbNamingConvention.UpperCase:
                nameRewriter = new UpperCaseNameRewriter(culture);
                break;

            case DbNamingConvention.UpperSnakeCase:
                nameRewriter = new UpperSnakeCaseNameRewriter(culture);
                break;

            case DbNamingConvention.CamelCase:
                nameRewriter = new CamelCaseNameRewriter(culture);
                break;

            default:
                break;
            }

            foreach (var entity in modelBuilder.Model.GetEntityTypes())
            {
                entity.SetTableName(nameRewriter.RewriteName(entity.GetTableName()));

                foreach (var property in entity.GetProperties())
                {
                    // property.SetColumnName(nameRewriter.RewriteName(property.GetColumnName()));
                    var columnName = property.GetColumnName(StoreObjectIdentifier.Table(entity.GetTableName(), null));
                    property.SetColumnName(nameRewriter.RewriteName(columnName));
                }

                foreach (var key in entity.GetKeys())
                {
                    key.SetName(nameRewriter.RewriteName(key.GetName()));
                }

                foreach (var key in entity.GetForeignKeys())
                {
                    key.SetConstraintName(nameRewriter.RewriteName(key.GetConstraintName()));
                }

                foreach (var index in entity.GetIndexes())
                {
                    // index.SetName(nameRewriter.RewriteName(index.GetName());
                    index.SetDatabaseName(nameRewriter.RewriteName(index.GetDatabaseName()));
                }
            }
        }
Exemplo n.º 3
0
 public NameRewritingConvention(INameRewriter nameRewriter) => _namingNameRewriter = nameRewriter;