PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thông số Npgsql 4.0 và Giá trị Null

API thông số chung mới thực sự có vấn đề - nó phải chấp nhận .NET null thông thường (chứ không phải DBNull.Value ), Tôi đã mở sự cố này để theo dõi điều này, nó sẽ được sửa trong 4.0.3.

Lưu ý rằng như ghi chú tài liệu cho biết, toàn bộ điểm của API chung là tránh sử dụng Value thuộc tính thuộc loại object . Nếu bạn sử dụng NpgsqlParameter<int> chung chung nhưng chỉ định Value , int của bạn sẽ được đóng hộp, đánh bại mục đích của API. Bạn nên gán cho TypedValue , thuộc loại int và sẽ không đóng hộp. Đây cũng là lý do tại sao bạn không thể gán DBNull.Value để chỉ ra một giá trị null (đó là một loại .NET khác).

Một số lưu ý về việc có nên sử dụng API chung mới này hay không:

  • Nếu bạn đang viết nhiều kiểu giá trị (ví dụ:int , DateTime ...) điều này sẽ xóa tất cả các phân bổ quyền anh. Điều này có quan trọng hay không phụ thuộc vào đơn đăng ký của bạn - hãy cẩn thận hồ sơ.
  • Các API chung chung luôn được ưu tiên hơn các API không chung chung khi loại được biết đến tại thời điểm biên dịch. Điều này cho phép trình biên dịch sớm kiểm tra tính đúng đắn của loại và làm cho mã của bạn rõ ràng hơn - chúng tôi sử dụng List<string> chứ không phải là ArrayList vấn đề mã hóa tốt ngay cả khi hiệu suất không phải là vấn đề
  • Hạn chế chính (duy nhất?) của API chung là nó dành riêng cho Npgsql, làm cho mã của bạn không di động đối với các trình điều khiển cơ sở dữ liệu khác (mặc dù một vấn đề tồn tại để làm cho cái này (hoặc cái gì đó tương tự) trở thành một phần của 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. Làm cách nào để sao lưu cơ sở dữ liệu Postgres trong Kubernetes trên Google Cloud?

  2. Cách tốt nhất để cài đặt hstore trên nhiều lược đồ trong cơ sở dữ liệu Postgres?

  3. org.postgresql.util.PSQLException:LỖI:không thể tuần tự hóa quyền truy cập do phụ thuộc đọc / ghi giữa các giao dịch

  4. Tạo bảng cho các giá trị Đa giác trong Postgis và chèn

  5. Sử dụng đầu ra văn bản từ một hàm làm truy vấn mới