PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Parameter Npgsql 4.0 dan Nilai Null

API parameter generik baru memang memiliki masalah - seharusnya menerima .NET null . reguler (dan bukan DBNull.Value ), saya telah membuka masalah ini untuk melacak ini, itu akan diperbaiki di 4.0.3.

Perhatikan bahwa sebagai catatan dokumentasi mengatakan, inti dari API generik adalah untuk menghindari penggunaan Value properti, yang bertipe object . Jika Anda menggunakan NpgsqlParameter<int> generik tetapi tetapkan Value , int Anda akan dikotak, mengalahkan tujuan API. Anda harus menetapkan ke TypedValue , yang bertipe int dan tidak akan kotak. Ini juga mengapa Anda tidak dapat menetapkan DBNull.Value untuk menunjukkan nilai nol (ini adalah tipe .NET yang berbeda).

Beberapa catatan tentang apakah API generik baru ini harus digunakan:

  • Jika Anda menulis banyak jenis nilai (mis. int , DateTime ...) ini akan menghapus semua alokasi tinju. Apakah ini akan menjadi signifikan tergantung pada aplikasi Anda - profil dengan hati-hati.
  • API Generik secara umum harus selalu lebih disukai daripada yang non-generik ketika jenisnya diketahui pada waktu kompilasi. Ini memungkinkan kompiler untuk memeriksa kebenaran jenis lebih awal dan membuat kode Anda lebih jelas - kami menggunakan List<string> daripada ArrayList sebagai masalah pengkodean yang baik bahkan ketika kinerja tidak menjadi masalah
  • Kelemahan utama (hanya?) dari API generik adalah spesifik untuk Npgsql, membuat kode Anda tidak dapat dibawa-bawa ke driver database lain (walaupun ada masalah untuk membuat ini (atau yang serupa) bagian dari ADO.NET).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke database Amazon PostgreSQL RDS di R menggunakan RPostgreSQL

  2. Instalasi deepdive, kesalahan PostgreSQL

  3. Ubah tipe data kolom dari Teks ke Integer di PostgreSQL

  4. Mekanisme Replikasi Fisik di PostgreSQL

  5. Buat tabel pivot dengan PostgreSQL