Base solution for your next web application
Open Closed

Info for oracle DB users #99


User avatar
0
daws created

Hello ABP community,

For who it might be interested, i'm using abp & Module Zero with Oracle.

I Had a few trouble since I was using DatabaseFirst before and not CodeFirst Generation.

If you are stuck, there is some tips :


    
      
        
      
      
        
          
          
          
          
          
        
      
    
  

With all theses infos, code first works fine with oracle and you can create & seed infos via Module Zero.


3 Answer(s)
  • User Avatar
    0
    hikalkan created
    Support Team

    Thank you very much for information sharing :)

  • User Avatar
    0
    worthyvii created

    This seems impossible because MZ includes a field which is over 30 chars long, which Oracle won't allow. Can you confirm if you're gonna change this hikalkan?

  • User Avatar
    0
    worthyvii created

    In response to my previous message, here is the solution to avoid the 32 character name limit in Oracle.
    Add this to your DbContext class.

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
    
                modelBuilder.HasDefaultSchema("ORACLEUSERINCAPITALLETTERS");
    
                //short oracle names
                modelBuilder.Entity()
                    .Property(t=>t.EntityTypeAssemblyQualifiedName)
                    .HasColumnName("EntityTypeAssQualName");
    
    
                modelBuilder.Entity< NotificationInfo >()
                    .Property(t => t.EntityTypeAssemblyQualifiedName)
                    .HasColumnName("EntityTypeAssQualName");
    
    
                modelBuilder.Entity()
                    .Property(t => t.EntityTypeAssemblyQualifiedName)
                    .HasColumnName("EntityTypeAssQualName");
    
                modelBuilder.Entity()
                    .Property(t => t.EntityTypeAssemblyQualifiedName)
                    .HasColumnName("EntityTypeAssQualName");
    ...