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

Perbandingan penyedia yang kompatibel dengan Entity Framework untuk Oracle?

Saya melakukan perbandingan cepat dari berbagai penyedia yang terdiri dari:

  1. Pengalaman penginstalan.
  2. Konektivitas.
  3. Pengalaman Penjelajah Server.
  4. Memperbarui dari pengalaman basis data (database terlebih dahulu).
  5. Pemetaan tipe data (database terlebih dahulu).

Berikut kesimpulannya:

1. Pengalaman penginstalan.

Oracle's ODP.NET (beta 3):Instalasi kompleks dari versi x86 dan x64 terpisah, penginstal tidak dirancang untuk Windows.Mengisi jalur sistem (mendekati panjang maksimal yang berbahaya), tidak menginstal ke folder standar (file program + appdata).

DotConnect Devart:Instalasi lancar, penyedia DLL terkelola sepenuhnya.

Kemajuan DataDirect:Instalasi lancar, penyedia DLL terkelola sepenuhnya.

OPENLINK:Tampaknya memerlukan instalasi sisi server, tidak menguji lebih lanjut.

2. Konektivitas.

Oracle's ODP.NET (beta 3):Rumit untuk dikonfigurasi, memerlukan instalasi Oracle pada mesin klien dan file TSN tambahan di instalasi Oracle atau string koneksi yang panjang dan kompleks yang terlihat seperti LISP/Skema.
Perbarui: Tidak dapat menemukan ini dalam dokumentasi, namun, string koneksi juga dapat berisi definisi sumber data sederhana mis. serverName:port/serviceName.

DotConnect Devart:String koneksi sederhana + wizard.

Kemajuan DataDirect:String koneksi sederhana + wizard.

3. Pengalaman Server Explorer.

Oracle's ODP.NET (beta 3):Paling kuat dari ketiganya, memungkinkan pengeditan yang mudah, tampilan kunci dan indeks.

DotConnect Devart:Melihat tabel dan bidang.

Kemajuan DataDirect:Memungkinkan pengeditan yang mudah, tampilan kunci dan indeks.

4. Memperbarui dari pengalaman basis data (database terlebih dahulu).

ODP.NET Oracle (beta 3):Langsung.

DotConnect Devart:Menampilkan tabel dari semua skema, tidak ada opsi untuk memfilter - membuat pencarian tabel menjadi melelahkan.

Kemajuan DataDirect:Langsung.

5. Pemetaan tipe data (database terlebih dahulu).

Oracle's ODP.NET (beta 3):Pemetaan default untuk number(1,0), number(2,0) dan number(3,0) salah*.Dapat secara manual menimpa number(2,0) dan number(3 ,0). Memperbaiki nomor (1,0) tidak berfungsi (setidaknya tidak pada beta 3 - mungkin berhasil dalam beta 2).

Pembaruan: Sekarang setelah versi rilis keluar (112030) ini telah diperbaiki. Beberapa pemetaan dimungkinkan melalui bagian dalam file app.config.

Devart's DotConnect:Menampilkan tabel dari semua skema, tidak ada opsi untuk memfilter - membuat pencarian tabel melelahkan. Pemetaan default untuk float biner, biner ganda, cap waktu dengan zona waktu, angka (2,0), angka (3,0) dan angka (4 ,0) salah*. Penggantian manual seharusnya berfungsi - tidak diperiksa.

Kemajuan DataDirect:Pemetaan default OK*.

(*) Pemetaan yang saya harapkan:

DB Data Type    .NET Data Type
integer     Decimal
int         Decimal
smallint        Decimal
long        String
decimal     Decimal
rowid       String
float       Decimal
double      Decimal
binary float    Single
binary double   Double
char[40]        String
charvar[40]     String
natchar[40]     String
natcharvar[40]  String
natcharacter[40]    String
natcharactervar[40] String
number      Decimal
numeric     Decimal
nvarchar2[40]   String
real        Decimal
date        DateTime
timestamp       DateTime
timestamplocal  DateTime
timestampzone   DateTimeOffset
xml String
raw15       Binary
raw16       Guid
raw17       Int64
number(1,0)     Boolean
number(2,0)     Byte or SByte
number(3,0)     Byte or SByte (accepted Int16 as OK too)
number(4,0)     Int16
number(5,0)     Int16 (accepted Int32 as OK too)
number(6,0)     Int32
number(7,0)     Int32
number(8,0)     Int32
number(9,0)     Int32
number(10,0)    Int32 (accepted Int64 as OK too)
number(11,0)    Int64
number(15,0)    Int64
number(16,0)    Int64
number(17,0)    Int64
number(18,0)    Int64
number(19,0)    Int64 (accepted Decimal as OK too)
number(20,0)    Decimal (would accept Int64 as OK too)
number(21+,0)   Decimal

Jika Anda ingin tipe database dapat menyimpan nomor apa pun dalam rentang tipe .NET makaIntX memerlukan angka(N,0) di mana Ceil(log10(2^X)) =N untuk penyimpanan**.

Bool (Int1) ==> number(1,0)
Byte (Int8) ==> number(3,0)
Int16, UInt16 ==> number(5,0)
Int32, UInt32 ==> number(10,0)
Int64 ==> number(19,0)
UInt64 ==> number(20,0)

** Perhitungan mengasumsikan angka yang tidak ditandatangani, untuk angka yang ditandatangani ceil(log(2^(X-1)).

Referensi untuk asumsi tipe data:
TECH di Net
Devart
Oracle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosedur Tersimpan Java Vs Prosedur Tersimpan PL/SQL

  2. Bagaimana cara mengambil data dari SQL Server ke SqlDataReader bekerja?

  3. Perjalanan OOW15 Saya Selesai

  4. Menggunakan Oracle JDeveloper 12c dengan Oracle Database, Bagian 1

  5. Oracle Entity Framework - Hasilkan Entitas Dari Tabel dalam Skema Berbeda