sql >> Databasteknik >  >> RDS >> Oracle

Oracle ODP.Net With Entity Framework 6 - ORA-00955 på Välj från tabellvy

Oracle-implementeringen av Entity framework-leverantören är mycket dålig men det finns några sätt att få detta att fungera.

  1. Enkelt men irriterande - med NULL eller egen databasinitieringsimplementering:

    Database.SetInitializer<DatabaseContext>(null);
    

eller

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

Database.SetInitializer(new DatabaseInitializer());

Ställ in den initialiserade innan första åtkomst till din databas.

  1. Om du vill använda migrering, skapa dina vyer och lägg sedan till migrering med ignorerande ändringar, till exempel med paketkonsolen add-migration initial -ignorechanges . Detta gör att EF ignorerar inkonsekvenserna mellan DB-schemat och modellen (eftersom den bara kontrollerar tabeller från ALL_TABLES , inte vyer) så det kommer inte att försöka skapa tabell. Det finns en bugg i Oracle EF-implementeringen som om den initiala migreringen är tom tappar den och återskapar __MigrationHistory tabell så antingen måste din första migrering innehålla minst en tabell innan du lägger till vymigreringen eller så måste du lägga till en tabell efteråt.


  1. Hur får man en uppsättning data från en SQL-fråga från flera tabeller?

  2. chattserver:vad är det bästa (optimerade) sättet att spara en konversationslogg

  3. Du kan inte ange måltabell "NAME" för uppdatering i FROM-satsen

  4. Hämta rader grupperade efter timme med MySQL