sql >> Database teknologi >  >> RDS >> Oracle

Oracle ODP.Net With Entity Framework 6 - ORA-00955 på Vælg fra tabelvisning

Oracle-implementeringen af ​​Entity framework-udbyderen er meget dårlig, men der er nogle måder at få dette til at fungere på.

  1. Enkel, men irriterende - ved at bruge NULL eller egen databaseinitialiseringsimplementering:

    Database.SetInitializer<DatabaseContext>(null);
    

eller

class DatabaseInitializer : IDatabaseInitializer<DatabaseContext>
{
    public void InitializeDatabase(DatabaseContext context)
    {
        // your implementation
    }
}

Database.SetInitializer(new DatabaseInitializer());

Indstil den initialiserede før første adgang til din database.

  1. Hvis du vil bruge migreringer, skal du oprette dine visninger og derefter tilføje migrering med ignorering af ændringer, for eksempel ved hjælp af pakkekonsollen add-migration initial -ignorechanges . Dette vil få EF til at ignorere uoverensstemmelserne mellem DB-skemaet og modellen (fordi den kun kontrollerer tabeller fra ALL_TABLES , ikke visninger), så den vil ikke forsøge at oprette tabel. Der er en fejl i Oracle EF-implementeringen, at hvis den indledende migrering er tom, falder den og genskaber __MigrationHistory tabel, så enten skal din indledende migrering indeholde mindst én tabel, før du tilføjer visningsmigreringen, eller også skal du tilføje en tabel bagefter.


  1. Hvordan bruger man listagg med querydsl?

  2. SQLException:Protokolbrud. Oracle JDBC-driver problem

  3. Hvorfor genererer EF SQL-forespørgsler med unødvendige nul-tjek?

  4. MySQL auto-inkrementering pr. særskilt værdi indtastet i anden kolonne?