Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle ODP.Net Dengan Entity Framework 6 - ORA-00955 pada Pilih dari Tampilan Tabel

Implementasi Oracle dari penyedia kerangka kerja Entitas sangat buruk tetapi ada beberapa cara bagaimana membuatnya bekerja.

  1. Sederhana namun menjengkelkan - menggunakan NULL atau implementasi penginisialisasi basis data sendiri:

    Database.SetInitializer<DatabaseContext>(null);
    

atau

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

Database.SetInitializer(new DatabaseInitializer());

Atur inisialisasi sebelum akses pertama ke database Anda.

  1. Jika Anda ingin menggunakan migrasi, buat tampilan lalu tambahkan migrasi dengan mengabaikan perubahan, misalnya menggunakan konsol paket add-migration initial -ignorechanges . Ini akan membuat EF mengabaikan inkonsistensi antara skema dan model DB (karena hanya memeriksa tabel dari ALL_TABLES , bukan tampilan) sehingga tidak akan mencoba membuat tabel. Ada bug dalam implementasi Oracle EF yang jika migrasi awal kosong, ia akan turun dan membuat ulang __MigrationHistory tabel sehingga migrasi awal Anda harus berisi setidaknya satu tabel sebelum Anda menambahkan migrasi tampilan atau Anda perlu menambahkan tabel setelahnya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SYS_REFCURSOR tidak dapat digunakan sebagai tipe pengembalian

  2. Perl DBI - jalankan SQL Script dengan banyak pernyataan

  3. Tidak dapat menonaktifkan perlindungan status sesi di Oracle APEX 18.1.0.00.45 untuk Tindakan Dinamis yang memperbarui Item Halaman

  4. Bagaimana cara membuat Oracle membuat pernyataan tabel di SQL*Plus

  5. Bagaimana cara memilih kolom dari tabel yang memiliki nilai bukan nol?