PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Nome di tabelle e proprietà senza distinzione tra maiuscole e minuscole in Entity Framework 7

  1. Sovrascrivi DelimitIdentifier in NpgsqlSqlGenerationHelper in questo modo:

    public class SqlGenerationHelper : NpgsqlSqlGenerationHelper
    {
        public override string DelimitIdentifier(string identifier) => identifier.Contains(".") ? base.DelimitIdentifier(identifier) : identifier;
    }
    
  2. Sostituisci ISqlGenerationHelper con la tua classe usando il metodo ReplaceService:

    public class MyContext : DbContext
    {
        public virtual DbSet<MyTable> MyTable { get; set; }
    
        public MyContext(DbConnection connection) :
               base(new DbContextOptionsBuilder().UseNpgsql(connection)
                                                 .ReplaceService<ISqlGenerationHelper, SqlGenerationHelper>()
                                                 .Options) 
        { }
    }